POJ3278 BFS 水题
2011-07-19 20:05
429 查看
只要能看懂题就知道bfs一下就出来了。
唯一思考了一下的地方是记录步数。
我用的int visit
来记录步数。我觉得效果还行。
#include<iostream>
#include<queue>
using namespace std;
const int N=200005;
const int K=200005;
int visit
;
int n,k,ans;
void bfs()
{
queue<int> que;
que.push(n);
visit
=1;
while(!que.empty())
{
int now=que.front();
que.pop();
if(now==k)
{
printf("%d\n",visit[now]-1);
return;
}
if((now*2)<N&&!visit[now*2])
que.push(now*2),visit[now*2]=visit[now]+1;
if((now+1)<N&&!visit[now+1])
{
que.push(now+1),visit[now+1]=visit[now]+1;
}
if((now-1)>=0&&!visit[now-1])
{
que.push(now-1),visit[now-1]=visit[now]+1;
}
}
}
int main()
{
//freopen("C:\\Users\\wuyanyisb\\Desktop\\1.txt","r",stdin);
while(scanf("%d%d",&n,&k)!=EOF)
{
memset(visit,0,sizeof(visit));
bfs();
}
system("pause");
return 0;
}
唯一思考了一下的地方是记录步数。
我用的int visit
来记录步数。我觉得效果还行。
#include<iostream>
#include<queue>
using namespace std;
const int N=200005;
const int K=200005;
int visit
;
int n,k,ans;
void bfs()
{
queue<int> que;
que.push(n);
visit
=1;
while(!que.empty())
{
int now=que.front();
que.pop();
if(now==k)
{
printf("%d\n",visit[now]-1);
return;
}
if((now*2)<N&&!visit[now*2])
que.push(now*2),visit[now*2]=visit[now]+1;
if((now+1)<N&&!visit[now+1])
{
que.push(now+1),visit[now+1]=visit[now]+1;
}
if((now-1)>=0&&!visit[now-1])
{
que.push(now-1),visit[now-1]=visit[now]+1;
}
}
}
int main()
{
//freopen("C:\\Users\\wuyanyisb\\Desktop\\1.txt","r",stdin);
while(scanf("%d%d",&n,&k)!=EOF)
{
memset(visit,0,sizeof(visit));
bfs();
}
system("pause");
return 0;
}
相关文章推荐
- POJ3278 BFS 水题
- poj入门水题--宽搜(bfs)题 1979 1562 2386 3278
- POJ 3278 Catch That Cow(搜索BFS)
- poj 3278 Catch That Cow 【BFS】
- poj 3278 Catch that cow(BFS 广搜)
- poj 3278 BFS
- poj 3278 Catch That Cow bfs
- POJ 3278 Catch That Cow(这些年追大牛的我们,BFS)
- Poj 3278 BFS(不多说话) Catch That Cow
- poj 3278 Catch That Cow(bfs)
- poj--3278--Catch That Cow(bfs)
- POJ 3278 Catch That Cow(BFS)
- POJ 3278(BFS-搜索范围)
- POJ 3278 Catch That Cow (BFS)
- POJ-3278 Catch That Cow bfs
- POJ - 3278 Catch That Cow ——BFS
- POJ训练计划3278_Catch That Cow/SDUT2782_我跳我跳我跳跳跳(一维BFS)
- [Poj 3278] Catch That Cow BFS
- POJ 3278 Catch That Cow(BFS)
- poj 3278 Catch That Cow (bfs搜索)