马踏飞燕(SDNU ACM-ICPC 2011复赛(2010级))
来源:互联网 发布:知乎 张国荣 编辑:程序博客网 时间:2024/04/28 07:04
#include<iostream>
#include<string.h>
using
namespace
std;
bool
qp[101][101];
bool
p = 0;
void
MTFY(
int
s,
int
x,
int
y,
int
m,
int
n)
{
int
xx, yy; //必须定义新的变量,否则会影响到第一次以后的所有递归
if
(x == m&&y == n){ p = 1;
return
; }//走到燕的位置
if
(s == 4)
return
; //四步之内走不到燕的位置
for
(
int
i = 1; i <= 8; i++)
{
switch
(i) //马走日的8种情况
{
case
1:xx=x - 2; yy=y-1;
break
;
case
2:xx=x - 2; yy=y+1;
break
;
case
3:xx=x-1; yy=y + 2;
break
;
case
4:xx=x+1; yy=y + 2;
break
;
case
5:xx=x + 2; yy=y+1;
break
;
case
6:xx=x + 2; yy= y-1;
break
;
case
7:xx=x+1; yy=y - 2;
break
;
case
8:xx=x-1; yy=y - 2;
break
;
}
if
(xx > 0 && xx <= 100 && yy > 0 && yy <= 100 && !qp[xx][yy])//不能出棋盘
{
qp[xx][yy] = 1;
MTFY(s + 1, xx, yy, m, n);
qp[xx][yy] = 0;
}
}
}
int
main()
{
int
x, y, m, n;
cin >> x >> y >> m >> n;
memset
(qp, 0,
sizeof
(qp)); //初始化数组
MTFY(0, x, y, m, n);
if
(p)cout <<
"Y"
;
else
cout <<
"N"
;
return
0;
}
链接网址:http://www.acmicpc.sdnu.edu.cn/Problem.aspx?pid=1025
(本人菜鸟,如有错误 敬请指出~谢谢)
0 0
- 马踏飞燕(SDNU ACM-ICPC 2011复赛(2010级))
- SDNU 1027 马踏飞燕(续) 【BFS】
- sdnu 1027.马踏飞燕(续)
- SDNU OJ 1025 马踏飞燕
- SDNU 1027 马踏飞燕序
- 马踏飞燕(续)
- SDNU__1025.马踏飞燕
- SDNU ACM-ICPC 2016-2017 Training Weekly Contest 1 【--完结--】
- SDNU ACM-ICPC 2016-2017 Training Weekly Contest 2 【--完结--】
- 【ACM】----SDNU-OJ 1206
- sdnu山东省ACM 2010年第一届省赛Greatest Number
- UVa1589 ACM/ICPC 2011 象棋
- 2010acm/icpc Asia Fuzhou
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest E
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest C
- 2010 ACM/ICPC 福州赛区 Problem J(穷举)
- 高效的程序员是聪明和懒惰的
- oracle insert all
- Linux 内核学习(1)——内核目录结构
- HDU 2191 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 多重背包
- Cisco交换基础路由配置:交换机怎么设置实现三层交换功能
- 马踏飞燕(SDNU ACM-ICPC 2011复赛(2010级))
- Android Unity3D 逆向截取交互事件(二) 之逆向修改dll并加入Java的接口
- 格雷码在异步FIFO中的使用
- Word转PDF转换器教程
- sqlite3 修改表明
- 阶段总结
- 性能分析工具gprof介绍
- 第十篇 设计模式--桥接模式
- asp 连接数据库 出错:Microsoft JET Database Engine 0x80004005