首页 > 其他 > 详细

poj3278

时间:2014-06-08 20:48:24      阅读:420      评论:0      收藏:0      [点我收藏+]

数组必须开大点

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

using namespace std;
struct node
{
int x,ans;
}q[1000005];
int jx[]={-1,1};
int n,k;
int map[1000005],v[1000005];
void bfs()
{
struct node t,f;
int e=0,s=0;
t.x=n;
v[t.x]=1;
t.ans=0;
q[e++]=t;
while(s<e)
{
t=q[s++];
if(t.x==k)
{
printf("%d\n",t.ans);
break;
}
for(int i=0;i<3;i++)
{
if(i==2)
f.x=t.x*2;
else f.x=t.x+jx[i];
if(!v[f.x]&&f.x>=0&&f.x<=100000)
{
f.ans=t.ans+1;
q[e++]=f;
v[f.x]=1;
}
}
}
}
int main()
{
while(scanf("%d%d",&n,&k)!=EOF)
{
memset(map,0,sizeof(map));
memset(v,0,sizeof(v));
bfs();
}
return 0;
}

poj3278,布布扣,bubuko.com

poj3278

原文:http://www.cnblogs.com/zhangmingcheng/p/3775898.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!