hncu 1101(bfs)
来源:互联网 发布:ar.drone编程 编辑:程序博客网 时间:2024/06/08 06:43
#include<iostream>#include<cstdio>#include<queue>#include<cstring>using namespace std;int bx, by, ex, ey;bool visit[8][8];int dir[8][2]={-1,-2,-2,-1,-2,1,-1,2,1,2,2,1,2,-1,1,-2}; struct node{int x, y, step;};bool right(int x, int y){if(x<0 || y<0 || x>=8 || y>=8) return false; if(visit[x][y]) return false; return true; }int bfs(){node now, next;now.x=bx; now.y=by; now.step=0;queue<node> q;q.push(now);visit[now.x][now.y]=1;while(!q.empty()){now = q.front();q.pop();if(now.x==ex&&now.y==ey){return now.step;}for(int i = 0; i < 8; i++){next.x = now.x+dir[i][0];next.y = now.y+dir[i][1];next.step = now.step+1;if(right(next.x,next.y)){q.push(next);visit[next.x][next.y]=true;}}}}int main(){char a[2], b[2];while(~scanf("%s %s", a, b)){bx =a[0]-'a';by = a[1]-'1';ex = b[0]-'a';ey = b[1]-'1';memset(visit,0, sizeof(visit)); printf("To get from %s to %s takes %d knight moves.\n",a,b,bfs());}return 0;}
0 0
- hncu 1101(bfs)
- 2015.7.5 HNCU第二次选拔赛
- HNCU 1330: 算法3-1:八进制数
- 2015.6.28 HNCU第一次选拔赛 弱爆了
- HNCU 1741: 算法3-2:行编辑程序
- HNCU 1746: 算法4-1,4-3:定位子串
- pku 1101 bfs
- POJ 1101(BFS)
- BFS
- bfs
- BFS
- BFS
- bfs
- BFS
- bfs
- BFS
- BFS
- bfs
- 解决apt-get的E: Could not get lock /var/lib/dpkg/lock方法
- 倒萨倒萨
- 试题中的A*算法,什么是A*算法??
- jsp页面跳转的方法集合
- v刹许昌县
- hncu 1101(bfs)
- Cocos2d-x3.1中的Text控件的使用
- 7/15
- 读取文件中int数据并排序输出到另外一个文件
- PHP include和require区别 绝对路径、相对路径
- 一个比较酷的项目界面分享,干货十足
- 对Linux内核中进程上下文和中断上下文的理解
- 腾讯笔试题
- Running the Compiler from the Command Line