码迷,mamicode.com
首页 > 其他好文 > 详细

poj3278

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

标签:c   a   int   string   set   os   

数组必须开大点

#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

标签:c   a   int   string   set   os   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!