1253 抓住那頭牛

2021-10-02 19:25:15 字數 906 閱讀 5001

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...