農夫知道一頭牛的位置,想要抓住它。
農夫和牛都位於數軸上,農夫起始位於點 nn,牛位於點 kk。
農夫有兩種移動方式:
從 xx 移動到 x−1x−1 或 x+1x+1,每次移動花費一分鐘
從 xx 移動到 2∗x2∗x,每次移動花費一分鐘
假設牛沒有意識到農夫的行動,站在原地不動。
農夫最少要花多少時間才能抓住牛?
輸入格式
共一行,包含兩個整數n和k。
輸出格式
輸出乙個整數,表示抓到牛所花費的最少時間。
資料範圍
0≤n,k≤1050≤n,k≤105
輸入樣例:517
輸出樣例:
4
#include
#define x first
#define y second
using
namespace std;
const
int n=
100010
;int s,k;
//s起點,k終點
int dist[n]
;int
bfs()if
(t+1
==-1)
if(t*
2==-1)
}return-1
;}intmain()
抓住那頭牛
在乙個座標軸上,農夫在n點,牛在k點 假設在整個過程中牛靜止不動 現在農夫可以 1,1,2 的步數,問抓到牛的最小步數 採用stl的queue 第一次使用。include include include using namespace std int n,k const int maxn 10000...
抓住那頭牛
題目描述 農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x移動到x 1或x 1,每次移動花費一分鐘 2 從x移動到2 x,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最...
openjudge 抓住那頭牛
總時間限制 2000ms 記憶體限制 65536kb 描述 農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x移動到x 1或x 1,每次移動花費一分鐘 2 從x移動到2 x,每次移動花費一分鐘...