HDU1372----Knight Moves
来源:互联网 发布:c语言中玫瑰花数 编辑:程序博客网 时间:2024/06/06 12:43
bfs水题,以前看错题意等balabala的不做,现在一眼就。。。
还是要多敲代码啊
#include<stdio.h>#include<queue>#include<stack>#include<string.h>using namespace std;int vis[20][20];int dx[8]={1,1,2,2,-1,-1,-2,-2};int dy[8]={2,-2,1,-1,2,-2,1,-1};int sx,sy,ex,ey;struct node{int x,y,t;};char s1[5],s2[5];void bfs(){ queue<node> q; while(!q.empty()) q.pop(); node t; t.x=sx,t.y=sy,t.t=0; q.push(t); vis[t.x][t.y]=1; while(!q.empty()) { node u=q.front(); q.pop(); if(u.x==ex&&u.y==ey){ printf("To get from %s to %s takes %d knight moves.\n",s1,s2,u.t); break; } node v=u; for(int i=0;i<8;i++){ int x=u.x+dx[i]; int y=u.y+dy[i]; if(x>=0&&x<=7&&y>=1&&y<=8&&!vis[x][y]){ v.x=x; v.y=y; v.t=u.t+1; q.push(v); vis[x][y]=1; } } }}int main(){ while(scanf("%s%s",s1,s2)!=EOF) { sx=s1[0]-97; sy=s1[1]-48; ex=s2[0]-97; ey=s2[1]-48; memset(vis,0,sizeof vis); bfs(); }}
0 0
- Knight Moves hdu1372 bfs
- hdu1372 Knight Moves
- hdu1372-Knight Moves--搜索
- HDU1372:Knight Moves
- hdu1372题目Knight Moves
- HDU1372:Knight Moves(BFS)
- HDU1372 Knight Moves
- hdu1372 Knight Moves (BFS)
- HDU1372 Knight Moves
- HDU1372:Knight Moves(BFS)
- hdu1372 Knight Moves
- hdu1372 Knight Moves(BFS)
- hdu1372 Knight Moves(BFS)
- HDU1372 Knight Moves BFS
- HDU1372:Knight Moves(BFS)
- HDU1372 Knight Moves(BFS)
- Knight Moves hdu1372
- HDU1372----Knight Moves
- 比较好用的一些软件
- 内核级研究-arm926ejs内核如何控制TCM、Cache、MMU等
- LFS附加版——利用XShell和WinSCP辅助开发
- 用程序员的姿势抢过年的火车票
- 12.IDA-虚函数和虚表
- HDU1372----Knight Moves
- Good Bye 2013 总结
- Android菜鸟进阶之路4.2-音频文件每隔一段时间存储一次
- java并发编程--线程池初步
- tableview
- MYSQL 定时任务调用存储过程
- android 网络请求遇到的坑:connect failed: EHOSTUNREACH (No route to host)
- 标准输入、标准输出、标准出错:
- eclipse自定义扩展点