洛谷 P1588 丟失的牛

2021-08-23 12:39:42 字數 679 閱讀 5662

傳送門:洛谷 p1588 丟失的牛

懶得再解釋了,簡單bfs,下面是蒟蒻**:

#include//萬能頭

using

namespace

std;

int i,j,k,m,n,f[200005];

queue

q;//佇列

int main()

for(i=0;i<=m*2;i++)//避免*2後的**

f[i]=-1;//記錄沒有到達過

q.push(n),f[n]=0;//佇列中壓入n,並將到達n的步數設定為0

while(!q.empty())

if(x*2

<=200000&&f[x*2]==-1)//沒有越界且沒有到達過

q.push(x*2),f[x*2]=f[x]+1;//壓入,標記步數

if(x+1

<=200000&&f[x+1]==-1)//沒有越界且沒有到達過

q.push(x+1),f[x+1]=f[x]+1;//壓入,標記步數

if(x-1>0&&f[x-1]==-1)//沒有越界且沒有到達過

q.push(x-1),f[x-1]=f[x]+1;//壓入,標記步數

}return

0;//好孩子不忘return 0

}

P1588 丟失的牛 AC於2018 9 16

fj丟失了他的一頭牛,他決定追回他的牛。已知fj和牛在一條直線上,初始位置分別為x和y,假定牛在原地不動。fj的行走方式很特別 他每一次可以前進一步 後退一步或者直接走到2 x的位置。計算他至少需要幾步追上他的牛。輸入格式 第一行為乙個整數t 10 表示資料組數 接下來每行包含乙個兩個正整數x和y ...

luogu1588 丟失的牛

時空限制 1000ms 128mb fj丟失了他的一頭牛,他決定追回他的牛。已知fj和牛在一條直線上,初始位置分別為x和y,假定牛在原地不動。fj的行走方式很特別 他每一次可以前進一步 後退一步或者直接走到2 x的位置。計算他至少需要幾步追上他的牛。輸入格式 第一行為乙個整數t 10 表示資料組數 ...

Luogu P1588 丟失的牛

本題抽象一下就是從乙個點出發,然後經過座標x2或 1或 1到另乙個點。顯然這就是乙個搜尋題,而且顯然可以看出步數最多就是兩個點座標之差。但是資料範圍105,直接暴搜肯定要麼mle要麼tle,肯定不行,一定要加上優化。我們注意到座標的範圍是 0,105 那麼如果乙個點擴充套件到了這個範圍之外顯然就不可...