讨论 / 五八天下第一!
lawrence2004 2017-09-11 22:54:09
点我顶贴 收藏 删除
#include<cstring>

#include<cstdio>

int fx[9]={0,-1,-2,-2,-1,1,2,2,1};

int fy[9]={0,-2,-1,1,2,2,1,-1,-2};

struct nod{int x,y,c;};

nod q[410];

bool mp[20][20];

int a[20][20];

int main()

{

int n=10,m=9;

memset(q,0,sizeof(q));

memset(a,0,sizeof(a));

memset(mp,true,sizeof(mp));

int sx,sy,ex=1,ey=5;scanf("%d %d",&sx,&sy);

mp[sx][sy]=false;

mp[1][4]=false;mp[1][6]=false;mp[2][5]=false;

q[1].x=sx;q[1].y=sy;q[1].c=0;

int st=1,ed=2;

while(1)

{

if(q[st].x==ex&&q[st].y==ey)

{

printf("%d",q[st].c);

return 0;

}

for(int i=1;i<=8;i++)

{

int xx=q[st].x+fx[i];

int yy=q[st].y+fy[i];

if(xx<1||xx>n||yy<1||yy>m||!mp[xx][yy])continue;

mp[xx][yy]=false;

q[ed].x=xx;q[ed].y=yy;q[ed].c=q[st].c+1;

ed++;

}

st++;

}

}

#1 lijie201602@2017-09-12 22:19:32
回复 删除
这数据也是有毒,多多就不输
查看更多回复
提交回复