POJ 1915 Knight Moves G++
来源:互联网 发布:wamp修改php.ini路径 编辑:程序博客网 时间:2024/05/29 16:23
#include <iostream>#include <utility>#include <queue>#include <cstring>//参考《挑战》中的宽搜 using namespace std;int dx[8]={1,2,2,1,-1,-2,-2,-1};int dy[8]={-2,-1,1,2,2,1,-1,-2};int main(){int N;cin>>N;int jg[N];for(int i=0;i<N;i++){int NUM;cin>>NUM;int a[NUM][NUM];memset(a,0,sizeof(a));int sx,sy;int ex,ey;cin>>sx>>sy;cin>>ex>>ey;queue<pair<int,int> > que;que.push(pair<int,int>(sx,sy));a[sx][sy]=1;jg[i]=0;while(que.size()){pair<int,int> t=que.front();que.pop();if((t.first==ex)&&(t.second==ey)){jg[i]=a[t.first][t.second];break;}for(int i=0;i<8;i++){int nx=t.first+dx[i];int ny=t.second+dy[i];if((nx>=0)&&(nx<NUM)&&(ny>=0)&&(ny<NUM)&&(a[nx][ny]==0)){ que.push(pair<int,int>(nx,ny));a[nx][ny]=a[t.first][t.second]+1;}}}}for(int i=0;i<N;i++){cout<<jg[i]-1<<endl;}return 0;}
l*l的国际象棋棋盘,给出马的起始坐标和终止坐标,求从起始到终止最少多少步。
阅读全文
0 0
- POJ 1915 Knight Moves G++
- poj 1915 Knight Moves
- poj 1915 Knight Moves
- poj 1915 Knight Moves
- POJ 1915 Knight Moves
- poj 1915 Knight Moves
- POJ 1915 Knight Moves
- POJ 1915 Knight Moves
- POJ 1915 Knight Moves
- POJ 1915 Knight Moves
- poj 1915 Knight Moves
- poj 1915 Knight Moves
- poj 1915Knight moves
- POJ 1915 Knight Moves
- POJ 1915Knight Moves
- POJ 1915: Knight Moves
- POJ 1915 Knight Moves
- POJ 1915 Knight Moves
- Ubuntu14.04下Fast-rcnn训练自己的数据
- C++的进程同步和异步
- 新建一个WPF应用程序都有啥
- 7.JavaScript深入之执行上下文
- js高级学习笔记(一)
- POJ 1915 Knight Moves G++
- Core ML 文档翻译
- 纹理分割(一)Gabor滤波器学习
- 免sudo 执行Docker命令
- 不同地域不同网络能否连接远程对方的Oracle数据库?
- Java开发常用网站
- 了解负载均衡 会话保持 session同步(转)
- listview与adapter用法
- Codeforces 748 E Santa Claus and Tangerines