廣度優先搜尋 入門 抓住那頭牛

2021-06-26 11:04:06 字數 461 閱讀 3168

農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上

,農夫起始位於點n(0<=n<=100000),牛位於點k(0<=k<=100000)

。農夫有兩種移動方式:

1、從x移動到x-1或x+1,每次移動花費一分鐘

2、從x移動到2*x,每次移動花費一分鐘

假設牛沒有意識到農夫的行動,站在原地不動。農夫最少要

花多少時間才能抓住牛?

/*catch_the_cow.cpp*/

#include #include #include using namespace std;

#define max 10000

int n;//農夫的位置

int k;//牛的位置

int visit[max+10];//儲存節點是否走過的資訊

struct step

};int main()

if(s.x+1

廣度優先搜尋 抓住那頭牛(poj 3278)

描述 農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x移動到x 1或x 1,每次移動花費一分鐘 2 從x移動到2 x,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最少要...

演算法基礎 抓住那頭牛 廣度優先搜尋演算法

題目 農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x移動到x 1或x 1,每次移動花費一分鐘 2 從x移動到2 x,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最少要...

抓住那頭牛

在乙個座標軸上,農夫在n點,牛在k點 假設在整個過程中牛靜止不動 現在農夫可以 1,1,2 的步數,問抓到牛的最小步數 採用stl的queue 第一次使用。include include include using namespace std int n,k const int maxn 10000...