poj - 2243 Knight Moves
这题和poj 1915一样,用bfs做走马步。现在再看当时的代码,真是好幼稚啊。
1 #include <stdio.h> 2 #include <string.h> 3 int X[] = {-2,-2,-1,-1,1,1,2,2}, 4 Y[] = {-1,1,-2,2,-2,2,-1,1}; 5 struct Point 6 { 7 int x,y; 8 void init(int a,int b) 9 {x = a; y = b;} 10 }q[70],s,t; 11 int head,tail,map[9][9];13 void bfs() 14 { 15 Point u,v; 16 int x1,y1,i; 17 head = tail = 0; 18 q[0] = s; 19 map[s.x][s.y] = 0; 20 if(s.x == t.x && s.y == t.y) 21 { 22 printf("To get from %c%d to %c%d takes 0 knight moves.\n" 23 ,s.x-1+'a',s.y,t.x-1+'a',t.y); 24 return ; 25 } 26 while(head <= tail) 27 { 28 u = q[head++]; 29 for(i = 0; i < 8; i++) 30 { 31 x1 = u.x + X[i]; 32 y1 = u.y + Y[i]; 33 if(x1 > 0 && x1 < 9 && y1 > 0 && y1 < 9 && map[x1][y1] == -1) 34 { 35 if(x1 == t.x && y1 == t.y) 36 { printf("To get from %c%d to %c%d takes %d knight moves.\n" 37 ,s.x-1+'a',s.y,t.x-1+'a',t.y,map[u.x][u.y]+1);return ;} 38 v.init(x1,y1); 39 q[++tail] = v; 40 map[x1][y1] = map[u.x][u.y] + 1; 41 } 42 } 43 } 44 } 45 int main() 46 { 47 char t1,t2; 48 while(~scanf("%c%d %c%d",&t1,&s.y,&t2,&t.y)) 49 { 50 getchar(); 51 s.x = t1 -'a'+1; 52 t.x = t2 -'a'+1; 53 memset(map,-1,sizeof map); 54 bfs(); 55 } 56 return 0; 57 }
转载于:https://www.cnblogs.com/lzxskjo/archive/2012/08/29/2661108.html
poj - 2243 Knight Moves相关推荐
- OpenJudge/Poj 1915 Knight Moves
1.链接地址: http://bailian.openjudge.cn/practice/1915 http://poj.org/problem?id=1915 2.题目: 总Time Limit: ...
- POJ 1915 Knight Moves
Knight Moves Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 29822 Accepted: 14013 Descri ...
- POJ2243 Knight Moves —— A*算法
题目链接:http://poj.org/problem?id=2243 Knight Moves Time Limit: 1000MS Memory Limit: 65536K Total Sub ...
- POJ 2243:Knight Moves(双向BFS)
http://poj.org/problem?id=2243 问题概述:一个8*8的棋盘,给定一个起点(列a-h,行1-8)和一个终点(列a-h,行1-8),按骑士的走法(走日字),从起点到 终点最少 ...
- 1 Knight Moves
Problem F- Knight Moves 题目来源:https://vjudge.net/contest/207868#problem/F Problem description: 题意概括:中 ...
- 马走日poj java超时_简单搜索poj 2243(水
应该也不算一题多解. 就是闲的..也是因为这题比较简单而且在网上看了别人写的特别好,就想用这题当入门练一下(逃 https://vjudge.net/problem/POJ-2243 题意: 8*8的 ...
- HDU 1372 Knight Moves
最近在学习广搜 这道题同样是一道简单广搜题=0= 题意:(百度复制粘贴0.0) 题意:给出骑士的骑士位置和目标位置,计算骑士要走多少步 思路:首先要做这道题必须要理解国际象棋中骑士的走法,国际象棋中 ...
- hdu1372 Knight Moves BFS 搜索
简单BFS题目 主要是读懂题意 和中国的象棋中马的走法一样,走日字型,共八个方向 我最初wa在初始化上了....以后多注意... 代码: 1 #include <iostream> 2 # ...
- Knight Moves
Knight Moves poj-1915 题目大意:在国际象棋中有一个骑士,想从一个点到达另一个点.骑士可以从2*3的矩阵的一角跳到对角线的另一角.问:骑士最少需要跳多少次才能从一个点跳到另一个点. ...
最新文章
- 快来参加北京首届数字技术大体验活动 赢取万元奖励、百度用友致远实习就业机会...
- sql 删除用户失败
- bootstrap项目实例_SpringCloud Config 使用Git的应用实例
- ClickHouse设置用户名密码
- 这就是搜索引擎--读书笔记五--索引的建立与更新
- 这一团糟的代码,真的是我写的?!
- linux下c语言俄罗斯方块,c语言做俄罗斯方块
- “ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”
- 新乡医学院2018计算机考试题,新乡医学院继教2018级局部解剖学复习自测下肢答案...
- 专业修复数据库修复软件不能修复的数据库
- 老板不在,你不得不做出越权的决定,咋办?(考试题系列)
- C# Process.Kill() 拒绝访问(Access Denied) 的解决方案
- Linux系统调用原理及实现
- 【静夜思】一些抽象代数的核心思想和实际应用
- knockoutjs 读源码
- ubuntu20.04 显卡驱动 cuda cudnn安装
- 磁共振成像原理-物理基础(质子在外部磁场的情况)
- 如何用MEGA-X构建进化树
- 小米手机 VS 阿里手机,阿里输在512MB内存,华为Honor只有电池容量跟小米差不多...
- HyperLynx(十六)PCI-E的设计与仿真
热门文章
- 面试必备,Java线程状态之细节回顾
- Jupyter官方神器:可视化 Debug 工具!
- AI 是否拥有意识?从意识的定义说起
- 一档博士40万年薪+70万房补!引进224人!​这所大学2021年公开招聘专任教师公告...
- 道理我都懂,但是神经网络反向传播时的梯度到底怎么求?
- PU-Net:一种基于数据的3D点云上采样网络
- 白嫖谷歌 GPU 资源!使用神经网络提取 PDF 表格工具来了,支持图片
- 2021届图像/计算机视觉算法提前批的面经 | 附内推码
- Django视图之HttpRequest对象和HttpResponse对象
- ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串