大致題意:
給定兩個整數n和k
通過 n+1或n-1 或n*2 這3種操作,使得n==k
輸出最少的操作次數
注意的地方有二:
1、 由於用於廣搜的 佇列陣列 和 標記陣列 相當大,如果定義這兩個陣列時把它們扔到區域性去,編譯是可以的,但肯定執行不了,提交就等re吧= =
大陣列必須開為全域性 。。。常識常識。。。
2、 剪枝。直接廣搜一樣等著re吧= =
不剪枝的同學試試輸入n=0 k=100000。。。。。。鐵定re
怎麼剪枝看我程式
//view codememory time
//1292k 0ms
#include
using
namespace
std;
const
int large=200030
;typedef
class
pos;
intn,k;
bool vist[large]; //
陣列較大,必須開為全域性陣列,不然肯定re
pos queue[large];
void bfs(void
)
if(w.x-1>=0 && !vist[w.x-1]) //
w.x-1>=0 是剪枝
if(w.x<=k && !vist[w.x+1]) //
w.x<=k 是剪枝
if(w.x<=k && !vist[2*w.x]) //
w.x<=k 是剪枝
}return;}
int main(void
)
return0;
}
回文數字的三種解法
要求 在不使用額外空間的前提下,判斷乙個數字是否是回文數字,例如12321是回文,1234521不是回文 回文數字的最大特徵就是最後乙個數字和第乙個數字相等,由此可以得出兩個特徵 1 回文數字反轉之後,跟反轉之前的值相等 2 回文數字首尾是對稱的 基於上述兩個特徵,可以衍生下面三個演算法 解法一 將...
python 數字變換的三種方法
numlist1 零 一 二 三 四 五 六 七 八 九 numstr input numlist list numstr for i in range 0 len numstr 最後乙個字元的下標是長度 1 numlist i numlist1 int numstr i c map str num...
MySQL數字型別中的三種常用種類
我們今天主要向大家介紹的是mysql資料庫的mysql資料型別與其建庫的實際策略的描述,以下就是文章的具體內容的描述。以下的文章主要講述的是mysql數字型別的三種常用種類,我們大家都知道,不管是微小免費的mysql資料庫空間,還是比較大型的電子商務 對於相關的資料庫來說其合理的相關設計表結構 充分...