poj 3278 Catch That Cow
2010-07-14 16:46
253 查看
http://162.105.81.212/JudgeOnline/problem?id=3278
先构图, 这里用一个数组表示,
数组的值表示从N走到这里所需的最少步数,初始为-1
然后bfs, 每一步只能(-1,+1,*2)
先构图, 这里用一个数组表示,
数组的值表示从N走到这里所需的最少步数,初始为-1
然后bfs, 每一步只能(-1,+1,*2)
#include<iostream> #include<queue> using namespace std; #define MAXSIZE 100001 int main() { int N,K,tmp,step,a[MAXSIZE]; while(scanf("%d%d",&N,&K)!=EOF) { memset(a, -1, sizeof(a)); queue<int> q; q.push(N); a =0; //bfs while(!q.empty()) { step=q.front(); q.pop(); tmp=step-1; if(tmp>=0 && a[tmp]==-1) { a[tmp]=a[step]+1; q.push(tmp); if(tmp==K) break; } tmp=step+1; if(tmp<MAXSIZE && a[tmp]==-1) { a[tmp]=a[step]+1; q.push(tmp); if(tmp==K) break; } tmp=step<<1; if(tmp<MAXSIZE && a[tmp]==-1) { a[tmp]=a[step]+1; q.push(tmp); if(tmp==K) break; } } printf("%d/n",a[K]); } return 0; }
相关文章推荐
- POJ--3278 Catch That Cow
- POJ3278-Catch That Cow
- POJ 3278 Catch That Cow 【bfs+队列】
- POJ 3278 Catch That Cow bfs
- poj 3278 Catch That Cow(bfs)
- poj 3278 Catch That Cow (BFS)
- POJ 3278 Catch That Cow (Java,bfs)
- Catch That Cow(poj 3278)
- Catch That Cow POJ - 3278
- POJ 3278 Catch That Cow (BFS)
- SDUTOJ(1028)POJ(3278)Catch That Cow
- hdu 2717 (poj 3278)Catch That Cow
- POJ 3278 Catch That Cow (BFS)
- POJ-3278 Catch That Cow 解题报告
- POJ 3278 Catch That Cow
- POJ - 3278 Catch That Cow (广搜)
- Catch that cow(POJ_3278)
- POJ 3278 Catch That Cow
- POJ-3278-Catch That Cow
- [POJ] 3278 Catch That Cow