時間限制:1秒
空間限制:262144k
給定兩個-100到100的整數x和y,對x只能進行加1,減1,乘2操作,問最少對x進行幾次操作能得到y?
例如:a=3,b=11: 可以通過3*2*2-1,3次操作得到11;
a=5,b=8:可以通過(5-1)*2,2次操作得到8;
輸入描述:
輸入以英文逗號分隔的兩個數字,數字均在32位整數範圍內。
輸出描述:
輸出乙個數字
輸入例子1:
3,11
輸出例子1:
3
思路:廣度優先搜尋。(佇列實現)
1 #include 2 #include 3 #include 4using
namespace
std;56
intmain() else26}
27if
(flag)
28break
;29 cnt++;30}
31 cout << cnt <32return0;
33 }
1 #include 2 #include 3 #include 4using
namespace
std;56
intmain() );
11q.push(tmp);
1213
while (!q.empty()) else
);21 q.push();
22 q.push();23}
24}25return0;
26 }
BFS最短路徑(求x到y的最少計算次數)
給定兩個 100到100的整數x和y,對x只能進行加1,減1,乘2操作,問最少對x進行幾次操作能得到y?例如 a 3,b 11 可以通過3 2 2 1,3次操作得到11 a 5,b 8 可以通過 5 1 2,2次操作得到8 輸入描述 輸入以英文逗號分隔的兩個數字,數字均在32位整數範圍內。輸出描述 ...
2024 求X到Y之間的整數和
time limit 3 second memory limit 2 mb 計算x到y之間的整數和 要求用函式實現 注意輸入時x不一定小於y,且x y不一定都是整數。兩行,第一行為x,第二行為y。一行,x與y之間的整數和 8.512.542 題解 這個處理有點麻煩。先獲取兩個數的整數部分 用int ...
從快手筆試題x到y的次數看bfs解題技巧
給定兩個 100到100的整數x和y,對x只能進行加1,減1,乘2操作,問最少對x進行幾次操作能得到y?例如 a 3,b 11 可以通過322 1,3次操作得到11 a 5,b 8 可以通過 5 1 2,2次操作得到8 我們可以這樣來解這道題,計算出從a一步操作能夠得到幾,兩步操作能夠得到幾,三步操...