编程题
棋盘游戏 ### 题目描述 一个 $n*n(2 \leq n)$棋盘上有黑白棋子各一枚。游戏者A和B轮流移动棋子,A先走。 * A的移动规则:只能移动白棋子。可以往上下左右四个方向之一移动一格。 * B的移动规则:只能移动黑棋子。可以往上下左右四个方向之一移动一格或者两格。 和通常的“吃子”规则一样,当某游戏者把自己的棋子移动到对方棋子所在的格子时,他就赢了。 两个游戏者都很聪明,当可以获胜时会尽快获胜,只能输掉的时候会尽量拖延时间。你的任务是判断谁会赢,需要多少回合。 比如$n=2$,白棋子在$(1,1)$,黑棋子在$(2,2)$,那么虽然A有两种走法,第二个回合B总能取胜。 ### 输入描述 仅一行,包含五个整数 $n, r_1, c_1, r_2, c_2$,即棋盘大小和棋子位置。 白色棋子在$(r_1,c_1)$,黑色棋子在$(r_2,c_2)$ $(1 \leq r_1,c_1,r_2,c_2\leq n)$。黑白棋子的位置保证不相同。 其中, $n \leq 20$。 ### 输出描述 输出仅一行,即游戏结果。 如果A获胜,输出 `WHITE x`; 如果B获胜,输出`BLACK x`; 如果二者都没有必胜策略,输出`DRAW`。 ### 输入输出样例 #### 示例 1 >输入 ``` txt 2 1 1 2 2 ``` >输出 ``` txt BLACK 2 ```
查看答案
赣ICP备20007335号-2