UVA1273 Weiqi
题目描述
众所周知,围棋是优秀的中华传统文化之一。在行棋时有以下规则:
- 双方分别执黑棋与白棋,在 $19\times 19$ 的棋盘上交替落子,黑棋先行。每次行棋时,玩家选择一个交叉点放置棋子。
- 棋盘上的棋子通过相邻(上下左右)同色棋子连接形成“一块棋”。每块棋的“气”是指其相邻的空交叉点数量。当一块棋的气变为 $0$,该块棋被提走~~并放入棋盖~~,转为空位。
- 如果落子落入的是禁入点,落子无效,视为被动放弃一手棋。禁入点有两种情况:
1. 落子后无法提吃对方棋子,且自身所在棋块的气变为 $0$。
2. 出现“打劫”情形:对方上一步刚提你一子后,你不可立即提回导致棋盘恢复原状,如下图。
 到  形成打劫,黑 $9$ 提起白 $2$ 之后,白 $10$ 不能像下图一样立即提回 。
- 平局(Tie):若 **当前落子合法** 且落子之后当前棋盘局面与之前某次局面完全相同(且中途无人主动放弃),则判定平局,棋局中断。
多组数据,对于每盘棋,黑先行。每步棋可能遇到以下情况:
1. **落子点为禁入点**:输出 `Turn xxx who pass (taboo point x, y)`(`xxx` 为当前回合数,`who` 为 `black` 或 `white`)。
2. **落子处非空**:输出 `Turn xxx PLAYER pass (invalid put x, y)`(注意:此处固定写 `PLAYER`)。
3. **玩家跳过**:若输入 $(0,0)$,输出 `Turn xxx who pass (by player)`。
4. **合法着法**:无输出,正常更新棋盘。
当出现以下情形时当前棋局中断:
- 平局。
- 连续两个 $(0,0)$(双方连续**主动**跳过)。
- 输入 $(-1,-1)$(强制当前棋局结束)。
棋局正常结束后(非强制结束)输出:`Total x turn(s)`($x$ 为当前棋局总回合数)。
若平局,接下来一行输出 `(Tie)`。
接下来 $19$ 行输出当前棋盘状态:空位用 `+`,黑棋 `e`,白棋 `o`。
**特殊注意**:
每**组**开始时输出:`Game #x`。
每**组**游戏结束后(不管走了多少步,包括最后一局)都要输出一个空行。
输入格式
若干个坐标 $(x,y)$,保证 $x=y=0$ 或 $x=y=-1$ 或 $1\le x\le 19,1\le y\le 19$(样例里有不明原因的换行)。
输出格式
同题面。