POJ - 3278 Catch That Cow 简单搜索
Posted lunatic-talent
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ - 3278 Catch That Cow 简单搜索相关的知识,希望对你有一定的参考价值。
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
Output
Sample Input
5 17
Sample Output
4
Hint
这道题是关于最短步数的,首先就要想到广搜,既然想到了广搜就可以写代码了。
#include<iostream> #include<queue> #include<algorithm> #include<set> #include<cmath> #include<vector> #include<map> #include<stack> #include<bitset> #define Swap(a,b) a^=b^=a^=b #define cini(n) scanf("%d",&n) #define cinl(n) scanf("%lld",&n) #define cinc(n) scanf("%c",&n) #define coui(n) printf("%d",n) #define couc(n) printf("%c",n) #define coul(n) printf("%lld",n) #define speed ios_base::sync_with_stdio(0);//Çв»¿ÉÓÃscnaf£» #define Max(a,b) a>b?a:b #define Min(a,b) a<b?a:b using namespace std; typedef long long ll; const int INF=0x3f3f3f3f; const int maxn=1e6+10; const double esp=1e-9; int m,n,x,y; int cnt,mini=INF; bool flag[maxn]; int bfs(int x); int main() cin>>m>>n; cout<<bfs(m)<<endl; int bfs(int x) queue<pair<int,int> > t; t.push(make_pair(x,0)); while(!t.empty()) pair<int,int>w=t.front(); if(w.first==n)break; t.pop(); w.first++,w.second++; if(w.first<0||w.first>100000||flag[w.first]); else t.push(w),flag[w.first]=1; w.first-=2; if(w.first<0||w.first>100000||flag[w.first]); else t.push(w),flag[w.first]=1; w.first++; w.first*=2; if(w.first<0||w.first>100000||flag[w.first]); else t.push(w),flag[w.first]=1; return t.front().second;
以上是关于POJ - 3278 Catch That Cow 简单搜索的主要内容,如果未能解决你的问题,请参考以下文章
POJ 3278 - Catch That Cow - [BFS]