codevs 3060 抓住那頭奶牛 x

2022-04-06 05:32:16 字數 1154 閱讀 5455

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,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最...