ACM训练2196: 围棋题解

庄子墨 算法基础篇 54 0
想要检验自己的编程水平?来试试全网最全C++题库,让您在挑战中不断进步。
相邻的点上如果有异色棋子存在,此处的气便不存在,如果棋子所在的连通块失去所有的气,即为无气之子,不能在棋盘上存在,1) 着子后,对方棋子无气,应立即提取对方无气之子。

围棋是起源于中国有悠久历史的策略性棋类游戏。它的规则如下: 1. 棋盘19*19。 2. 棋子分黑白两色,双方各执一色。 3. 下法:每次黑或白着一子于棋盘的空点上。棋子下定后,不再向其他点移动。 4. 棋子的气:一个棋子在棋盘上,与它相邻的空点是这个棋子的“气”(这里相邻是指两个点有公共边)。 相邻的点上如果有同色棋子存在,这些棋子就相互连接成一个不可分割的整体,气合并计算。 相邻的点上如果有异色棋子存在,此处的气便不存在。 如果棋子所在的连通块失去所有的气,即为无气之子,不能在棋盘上存在。 5. 提子:把无气之子清理出棋盘的手段叫“提子”。提子有二种: 1) 着子后,对方棋子无气,应立即提取对方无气之子。 2) 着子后,双方棋子都呈无气状态,应立即提取对方无气之子。 6. 禁着点:棋盘上的任何一空点,如果某方在此下子,会使该子立即呈无气状态,同时又不能提取对方的棋子,这个点叫做“禁着点”,该方不能在此下子。 7. 禁止全局同形:无论哪一方,在成功进行了着子、提子操作后,棋盘局面不能和任何之前的局面相同。 你要做的是:输入一些操作,从空棋盘开始模拟这些操作。 对于每一步,若结果不正确,则输出对应的miss并且忽略这个操作,并在最后输出棋盘的局面。

ACM训练2196: 围棋题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
不断学习,不断挑战,才能在编程领域中脱颖而出!全网最全C++题库,助您成为编程高手!

标签: ACM训练2196: 围棋题解