1.问题描述:
假设中国象棋的棋盘上只有“将”和“帅”,这两个棋子。
根据象棋的规则,写出“将”和“帅”所有可能的合法位置。
要求只能声明一个变量。
2.建模
由棋盘上的布局可知,“将”和“帅”的运动范围在一个3×3
的格子里。
1——2——3
| | |
4——5——6
| | |
7——8——9
上面的模型模拟“将”或“帅”的所有可能位置,因为“将”和“帅”
不能同时在同一列,所以当“将”在1,4,7的位置时,“帅”在2,3,5,6,8,9位置。反之亦然。
下面用A代表“将”,用B代表“帅”来进行模拟。
这个问题及算法转自《编程之美》。

本文介绍了一种使用编程方法来确定中国象棋中“将”和“帅”的所有合法位置的方法。通过两种不同的算法实现,确保这两个棋子不会出现在同一列,展示了简单的计算机模拟在解决特定问题上的应用。

被折叠的 条评论
为什么被折叠?



