poj3278广度优先搜索(BFS)
来源:互联网 发布:淘宝买家恶意申请退款 编辑:程序博客网 时间:2024/06/10 01:07
哎,还是在看了人家的代码情况下才做出来的,没事,能学会就行啦,用的是c++上的stl中的函数,定义的队列,比C语言上自己定义好用多了,嘿嘿,poj上的题目真不简单,比其他oj要难我觉得,起码是比hdu oj的要难,毕竟这是北大的,总是不会单纯的考察某个方法好像,这个题就有好多细节要考虑的,比如说时间问题,比如说要开数组大小问题,还有,不能把所有的数都存进去,否则可能会RE,明天继续找bfs练练手。
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<queue>using namespace std;int d[300000],visit[300000];int bfs(int x,int y){queue<int>q;q.push(x);d[x]=0;visit[x]=1;while(!q.empty()){x=q.front();q.pop(); if(x==y)return d[x];else{if(x-1>=0&&x-1<=100005&&visit[x-1]!=1){q.push(x-1);d[x-1]=d[x]+1;visit[x-1]=1;}if(x+1>=0&&x+1<=100005&&visit[x+1]!=1){q.push(x+1);d[x+1]=d[x]+1;visit[x+1]=1; }if(2*x>=0&&2*x<=100005&&visit[2*x]!=1){q.push(2*x);d[2*x]=d[x]+1;visit[2*x]=1;}} }}int main(){int x,y; while(scanf("%d%d",&x,&y)!=EOF){memset(d,0,sizeof(d));memset(visit,0,sizeof(visit));printf("%d\n",bfs(x,y)); }return 0;}
0 0
- poj3278广度优先搜索(BFS)
- POJ3278(BFS广度优先搜索)之Catch That Cow
- BFS广度优先搜索(4)--hdu2717(poj3278)(基础题)
- 广度优先搜索(BFS)
- 广度优先搜索(BFS)
- 广度优先搜索(BFS)
- 广度优先搜索(BFS)
- BFS(广度优先搜索)
- (广度优先搜索)算法题-poj3278 Catch That Cow
- 搜索(广度优先搜索) BFS 1
- 搜索(广度优先搜索)BFS 2
- 广度优先搜索-BFS
- BFS广度优先搜索
- 广度优先搜索 BFS
- 广度优先搜索(BFS)
- 广度优先搜索(BFS)
- 广度优先搜索(BFS)
- BFS (广度优先搜索)
- POJ - 1182 食物链 并查集升级版
- java格式化html字符串
- Mobile Safari 调用本地APP,否则进入App Store下载
- HDU2072 单词数
- C++2 判断
- poj3278广度优先搜索(BFS)
- nginx结构
- 用图片搜索图片的几个好网站
- POJ 3176,1163 數字三角形
- UITextView上面一段空白,文字从下面的位置开始显示
- [Vim]新建python文件自动添加python header
- Ruby-初印象
- 单例模式与instance = new Singleton();
- UVa10354 - Avoiding Your Boss(Dijkstra的巧妙用法 ,针对有多个最短路径)