1253:抓住那頭牛
時間限制: 1000 ms 記憶體限制: 65536 kb
提交數: 8246 通過數: 3066
【題目描述】
農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n(0≤n≤100000),牛位於點k(0≤k≤100000)。農夫有兩種移動方式:
1、從x移動到x−1或x+1,每次移動花費一分鐘
2、從x移動到2×x,每次移動花費一分鐘
假設牛沒有意識到農夫的行動,站在原地不動。農夫最少要花多少時間才能抓住牛?
【輸入】
兩個整數,n和k。
【輸出】
乙個整數,農夫抓到牛所要花費的最小分鐘數。
【輸入樣例】
5 17
【輸出樣例】
4
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int n =
100010
;bool vis[n]=;
int dir[2]
=;struct nodeq[n*10]
;void
bfs(
int n,
int k)
int nx;
for(
int i=
0;i<
2;i++)}
nx = x *2;
if(nx>=
0&&nx) head++;}
}int
main()
bfs(n,k)
;return0;
}
1253 抓住那頭牛
農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x 移動到x 1或x 1 每次移動花費一分鐘 2 從x移動到2 x 每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最少要花多...
1253 抓住那頭牛
題目描述 農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x移動到x 1或x 1,每次移動花費一分鐘 2 從x移動到2 x,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最...
1253 抓住那頭牛
1 include2 using namespace std 3int n,k 4struct node 7 node que 100010 結構體陣列表示佇列 8int f,r 定義隊首和隊尾 9bool vis 100010 數軸位置是否被訪問過 10void move int nx,int f...