UVA 439 Knight Moves
来源:互联网 发布:linux安装aptget 编辑:程序博客网 时间:2024/05/16 01:00
题意:给国际象棋棋盘的两个坐标,求某个棋子(我也看不懂,规则跟中国象棋里的马一样的)从初始坐标到末坐标的步数,计算最少步数到达目标点并输出,思路就是bfs搜索即可
代码如下
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>#include<map>#include<queue>#include<vector>#include<stack>#include<set>#include<cctype>#include<istream>#include<ostream>#include<list>#define INF 0x3f3f3f3f#define mem(x) memset(x,0,sizeof(x))#define rep(n) for(int i=1;i<=n;i++)#define rep1(n) for(int j=1;j<=n;j++)const double EPS=1e-6;const double PI=acos(-1.0);typedef long long ll;typedef unsigned long long ull;using namespace std;typedef pair<int,int> p;char c1,c2;int r1,r2,sx,sy,ex,ey;int ans;int d[10][10];int dx[8]= {2,2,-2,-2,1,-1,1,-1};int dy[8]= {1,-1,1,-1,2,2,-2,-2};void bfs(){ rep(8) rep1(8) d[i][j]=INF; d[sx][sy]=0; queue<p> q; q.push(p(sx,sy)); while(q.size()) { p pp=q.front(); q.pop(); int x=pp.first,y=pp.second; if(x==ex&&y==ey) {ans=d[ex][ey];break;} if(d[x][y]==INF) continue; for(int i=0; i<8; i++) { int xx=x+dx[i],yy=y+dy[i]; if(d[xx][yy]==INF&&xx>=1&&xx<=8&&yy>=1&&yy<=8) d[xx][yy]=d[x][y]+1; else continue; q.push(p(xx,yy)); } }}int main(){ while(cin>>c1>>r1>>c2>>r2) { ans=0; sx=c1-'a'+1;sy=r1; ex=c2-'a'+1;ey=r2; bfs(); printf("To get from %c%d to %c%d takes %d knight moves.\n",c1,r1,c2,r2,ans); }}
0 0
- uva 439 knight moves
- uva 439 - Knight Moves
- uva 439 - Knight Moves
- uva 439 - Knight Moves
- uva 439 - Knight Moves
- uva-439 - Knight Moves
- UVa 439 - Knight Moves
- UVa 439 - Knight Moves
- UVA 439 - Knight Moves
- uva 439 Knight Moves
- UVa 439 - Knight Moves
- uva 439 - Knight Moves
- UVa:439 Knight Moves
- uva 439 - Knight Moves
- uva 439 Knight Moves
- UVa 439 - Knight Moves
- uva 439 - Knight Moves
- UVA 439 - Knight Moves
- 来到lovo的第13天;学习java的第6天.今天的目标是{一维数组}
- 【C++】:C++中map的使用
- usaco最长前缀(dp)
- 间接递归-组合串
- 机器学习基础(林軒田)笔记之二
- UVA 439 Knight Moves
- Java 设计模式-建造者模式(Builder)Android讲解
- 笔记11:FTP传输协议
- 初学向本地服务器发起网络访问
- 八大排序之堆排序
- 趣味算式填符号
- php与ajax交互——实现php实时返回结果给ajax,并在后台保持继续运行的方法
- 电价基础知识体系结构
- 第7周 贪吃蛇游戏(部分)