Poj3278 Catch That Cow ( BFS
2017-04-18 23:16
337 查看
Catch That Cow
Time Limit: 2000MS | Memory Limit: 65536K | |
Total Submissions: 88609 | Accepted: 27757 |
* 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?
InputLine 1: Two space-separated integers: N and KOutputLine 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.Sample Input5 17Sample Output4
#include <cstdio> #include <cstring> #include <cmath> #include <queue> #include <stack> #include <map> #include <set> #include <iostream> #include <vector> #include <algorithm> using namespace std; #define ll long long #define N 200010 const int mod = 1e9+7; int n, k; struct node { int x, step; }p ; //*2数据要开大两倍2233 没开会RE queue<node> q; bool vis ; int bfs() { vis = true; p .x = n; p .step = 0; q.push(p ); int pos, step; while(!q.empty()) { pos = q.front().x; step = q.front().step; q.pop(); if(pos==k) return step; if(!vis[pos-1] && pos>0) { // pos必须大于0 vis[pos-1] = true; p[pos-1].x = pos-1; p[pos-1].step = step+1; q.push(p[pos-1]); } if(pos<k) { if(!vis[pos+1]) { vis[pos+1] = true; p[pos+1].x = pos+1; p[pos+1].step = step+1; q.push(p[pos+1]); } if(!vis[pos*2]) { vis[pos*2] = true; p[pos*2].x = pos*2; p[pos*2].step = step+1; q.push(p[pos*2]); } } } } int main() { while(~scanf("%d%d",&n,&k)) { memset(vis,false,sizeof(vis)); memset(p,0,sizeof(p)); while(!q.empty()) q.pop(); printf("%d\n",bfs()); } return 0; }
相关文章推荐
- POJ3278:Catch That Cow(BFS)
- poj3278 Catch That Cow |bfs|队列|Java
- poj3278-catch that cow(bfs广搜)
- 【poj3278】Catch that cow——bfs
- poj3278 Catch That Cow BFS搜索 TWT Tokyo Olympic 2combo-1
- POJ3278 Catch That Cow(BFS)
- POJ3278 Catch That Cow BFS入门
- [bfs] poj3278 Catch that Cow
- 【搜索BFS】poj3278--Catch That Cow(bfs)
- poj3278——Catch That Cow(BFS,剪枝)
- POJ3278 Catch That Cow 【BFS】
- POJ3278 Catch That Cow(BFS入门)
- POJ3278 Catch That Cow —— BFS
- poj3278 Catch That Cow(BFS)
- poj3278 Catch That Cow bfs
- POJ3278 Catch That Cow(BFS)
- poj3278 Catch That Cow(bfs java)
- poj3278 Catch That Cow BFS
- poj3278 Catch That Cow(简单的一维bfs)
- POJ3278 Catch That Cow(bfs)