usaco
時間限制: 1 s
空間限制: 16000 kb
題目等級 : ** gold
農夫約翰被告知一頭逃跑奶牛的位置,想要立即抓住它,他開始在數軸的n 點(0≤n≤100000),奶牛在同乙個數軸的k 點(0≤k≤100000)。
約翰有兩種移動方式:1 分鐘內從x 點移動到x+1 或x-1;1 分鐘內從x 點移動到2x。假設奶牛不會移動,約翰抓住它需要多少時間?
輸入描述 input description
一行兩個整數n 和k,用空格隔開。
輸出描述 output description
約翰抓住它需要的最少時間。
樣例輸入 sample input
5 17
樣例輸出 sample output
資料範圍及提示 data size & hint
見題目分類標籤 tags 點此展開
usaco
這道題的難點是你需要處理三種方向。我是直接進行列舉的
如下:
1 #include2 #include3#define maxn 10000145
using
namespace
std;67
intn,k;
8bool
v[maxn];910
struct
node
11cur,nxt;
1415 queueq;//
該佇列是為了儲存結構體中的pos,以及step
1617
void
q_work()
1828
while(!q.empty())
2941
if(nxt.pos>=0&&nxt.pos<=100000&&!v[nxt.pos])
42
48 q.push(nxt);//
將其入隊
49 v[nxt.pos]=true;//
並進行標記 50}
51}52}
53}5455
intmain()
56
抓住那頭牛
在乙個座標軸上,農夫在n點,牛在k點 假設在整個過程中牛靜止不動 現在農夫可以 1,1,2 的步數,問抓到牛的最小步數 採用stl的queue 第一次使用。include include include using namespace std int n,k const int maxn 10000...
抓住那頭牛
農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點 nn,牛位於點 kk。農夫有兩種移動方式 從 xx 移動到 x 1x 1 或 x 1x 1,每次移動花費一分鐘 從 xx 移動到 2 x2 x,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最少要花多少時間才...
抓住那頭牛
題目描述 農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x移動到x 1或x 1,每次移動花費一分鐘 2 從x移動到2 x,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最...