由象棋中的“将”和“帅”位置引出的一个算法

14 篇文章 0 订阅
6 篇文章 0 订阅

 

1.问题描述:

  假设中国象棋的棋盘上只有“将”和“帅”,这两个棋子。

  根据象棋的规则,写出“将”和“帅”所有可能的合法位置。

  要求只能声明一个变量。

 

2.建模

  由棋盘上的布局可知,“将”和“帅”的运动范围在一个3×3

  的格子里。

  1——2——3

  |        |      |

  4——5——6

  |       |       |

  7——8——9

 上面的模型模拟“将”或“帅”的所有可能位置,因为“将”和“帅”

 不能同时在同一列,所以当“将”在1,4,7的位置时,“帅”在2,3,5,6,8,9位置。反之亦然。

 下面用A代表“将”,用B代表“帅”来进行模拟。

 

 

这个问题及算法转自《编程之美》。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值