POJ3278——Catch That Cow
| Time Limit:?2000MS | ? | Memory Limit:?65536K |
| Total Submissions:?114140 | ? | Accepted:?35715 |
Description
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point?N?(0 ≤?N?≤ 100,000) on a number line and the cow is at a point?K?(0 ≤?K?≤ 100,000) on the same number line. Farmer John has two modes of transportation: walking and teleporting.
* Walking: FJ can move from any point?X?to the points?X?- 1 or?X?+ 1 in a single minute
* Teleporting: FJ can move from any point?X?to the point 2 ×?X?in a single minute.
If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?
Input
Line 1: Two space-separated integers:?N?and?KOutput
Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.Sample Input
5 17Sample Output
4Hint
The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.Source
USACO 2007 Open Silver 終于A掉這道題,BFS新認知。 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<vector> #include<cmath> #include<cstring> #include<string> #define N 100010using namespace std;void in(int &x){register char c=getchar();x=0;int f=1;while(!isdigit(c)){if(c=='-') f=-1;c=getchar();}while(isdigit(c)){x=x*10+c-'0';c=getchar();}x*=f; }int a,b,ans; struct Step{int v,w;//位置,步數 Step(int xx,int s):v(xx),w(s){ } }; bool vis[N]; queue<Step>Q;void BFS(){memset(vis,0,sizeof(vis));vis[a]=1;Q.push(Step(a,0));while(!Q.empty()){Step s=Q.front();Q.pop();if(s.v==b) {ans=s.w;break;}else {if(s.v-1>=0 && !vis[s.v-1]){Q.push(Step(s.v-1,s.w+1));vis[s.v-1]=1;}if(s.v+1<=N &&!vis[s.v+1]){Q.push(Step(s.v+1,s.w+1));vis[s.v+1]=1;}if(s.v*2<=N && !vis[s.v*2]){Q.push(Step(s.v*2,s.w+1));vis[s.v*2]=1;}}} }int main() {in(a);in(b);BFS();printf("%d\n",ans);return 0; }
轉載于:https://www.cnblogs.com/song-/p/9263277.html
總結
以上是生活随笔為你收集整理的POJ3278——Catch That Cow的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 周一早高峰哈啰单车崩了!无法扫码解锁致大
- 下一篇: PC销售热潮已退 芯片巨头集体萎靡