博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu1372(BFS)
阅读量:6692 次
发布时间:2019-06-25

本文共 1351 字,大约阅读时间需要 4 分钟。

简答的BFS

求“马”从一点到另一点的最短距离,马走日,BFS即可

1 #include 
2 #include
3 #include
4 #define Max 0x7f7f7f7f 5 using namespace std; 6 7 int visited[10][10]; 8 int ans[10][10]; 9 char a[5],b[5];10 int dir[9][2]={
{-2,1},{-2,-1},{
2,1},{
2,-1},{-1,2},{-1,-2},{
1,2},{
1,-2}};11 struct node12 {13 int x;14 int y;15 };16 node path[100];17 void bfs(int x1,int y1,int x2,int y2)18 {19 memset(visited,0,sizeof(visited));20 memset(ans,Max,sizeof(ans));21 int head=0;22 int tail=1;23 path[head].x=x1;24 path[head].y=y1;25 ans[x1][y1]=0;26 visited[x1][y1]=1;27 while(head
=0 && xx<8 && yy>=1&& yy<=8 )40 {41 ans[xx][yy]=ans[x][y]+1;42 visited[xx][yy]=1;43 path[tail].x=xx;44 path[tail].y=yy;45 tail++; }46 }47 head++;48 }49 }50 int main()51 {52 while(scanf("%s %s",a,b)!=EOF)53 {54 int x1=a[0]-'a';55 int y1=a[1]-'0';56 int x2=b[0]-'a';57 int y2=b[1]-'0';58 bfs(x1,y1,x2,y2);59 printf("To get from %s to %s takes %d knight moves.\n", a,b,ans[x2][y2]);60 61 }62 return 0;63 }

EN

转载于:https://www.cnblogs.com/devil-91/archive/2012/08/15/2640816.html

你可能感兴趣的文章
spring cloud 整合zpkin问题
查看>>
Maven下载慢的解决方案
查看>>
我的友情链接
查看>>
Android 核心分析 之七------Service深入分析
查看>>
Regsvr32使用方法
查看>>
柱形图Demo
查看>>
编辑器
查看>>
关闭windows的默认共享
查看>>
react开发环境搭建
查看>>
数据库读写分离
查看>>
社交是微信营销
查看>>
2008 R2 证书服务器应用详解
查看>>
hive 动态分区太多问题
查看>>
Windows Server 2008 RemoteApp(二)---部署激活远程桌面授权服务器
查看>>
读取日志文件开发总结
查看>>
IOS --React Native
查看>>
Linux CPU
查看>>
Linux/Centos ntp时间同步,联网情况和无网情况配置
查看>>
初级网络运维工程师比赛题目
查看>>
跨交换机实现vlan实验报告
查看>>