TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P1476
  • 题目
  • P1476【BAPC 2006 A】Cheesy Chess(奶酪棋)
    限制 : 时间限制 : 10000 MS   空间限制 : 65536 KB
    问题描述

    “奶酪棋”是一种简单的两人游戏,它在一个8x8的棋盘上进行。每个玩家有一枚棋子,他们轮流去移动棋子。

    1号玩家操作白色棋子,他这一枚棋子是“国王”。每一步,“国王”可以往上、下、左、右、左上、左下、右上、右下这八个方向移动一步,只要它不走出棋盘。
    2号玩家操作黑色棋子,他这一枚棋子是“逃兵”。每一步,“逃兵”只能往下移动一步。

    1号玩家的目的是用“国王”去抓住“逃兵”,如果“国王”恰好移动到了“逃兵”所在那一格位置,就表示抓住了“逃兵”,1号玩家就赢了。2号玩家的目的是让“逃兵”安全地到达棋盘的最底部(“底线”),“逃兵”成功逃到了底部,2号玩家就赢了。

    但是,还有其他的一些限制,下面我们将看到:
    棋盘上还有“禁止区域”和“危险区域”。“禁止区域”是棋盘上的一格,“国王”和“逃兵”都不能进入。“危险区域”是棋盘上的一格,“逃兵”可以进入,但是“国王”不能进入。

    除了固定的“危险区域”以外,还有最多两个漂移的“危险区域”,它们是由“逃兵”的位置决定的。它们与“逃兵”的位置相邻:处于逃兵的左下和右下方,它们存在的条件是要在棋盘范围以内,并且不能与“禁止区域”冲突。除“禁止区域”和“危险区域”以外的其它区域称为“开放区域”,任何棋子都可以走进去。

    例如,我们可能遇到下面的情况,“禁止区域”、“危险区域”和“开放区域”分别由“F”,“D”和“.”来表示。国王由“K”来表示,逃兵用“P”来表示。


    在移动“逃兵”的时候,“国王”所在的那一格子可能会变成“危险区域”,但这并不是问题:在下一步,“国王”就必须移动到其它的“开放区域”去。当“国王”挡住了“逃兵”的去路,也就是说“逃兵”正要走,但是他下面的那一格被国王占着,这种情况下,“逃兵”不能移动。

    这个游戏结束的条件是满足下列条件之一:
    1.当“国王”抓住了“逃兵”,这种情况下1号玩家赢
    2.当轮到“国王”移动时,但“国王”无法移动到一个“开放区域”去,这种情况下2号玩家赢
    3.当轮到“逃兵”移动时,但“逃兵”无法移动到一个“开放区域”或“危险区域”去,如果这时“逃兵”正处于棋盘的底线上,2号玩家赢,否则1号玩家赢。

    输入格式

    第一行一个整数n,表示下面有n组测试数据。(n<=50)
    对于每组测试数据
    首先是一个8x8的字符矩阵来表示棋盘。"F"表示“禁止区域”,“D”表示固定的“危险区域”,“.”表示“开放区域”
    注意:根据“逃兵”的位置,一个“开放区域”有可能变成“危险区域”
    接下来一行,两个空格间隔的整数x1和y1,表示“国王”初始时的位置。“国王”的初始位置不会是“危险区域”或“禁止区域”
    然后是一行,两个空格间隔的整数x2和y2,表示“逃兵”初始时的位置。“逃兵”的初始位置不会是“禁止区域”


    输出格式

    对于每个测试数据,输出一个结果,结果只有一行,若1号玩家赢输出“White”否则输出“Black”

    样例输入

    2
    ........
    .......D
    ........
    .....F..
    ..DDD...
    ..DFDD..
    ..DDD...
    ........
    7 6
    3 7
    ........
    ........
    ........
    ........
    ........
    ........
    ........
    ........
    3 1
    6 3

    样例输出

    Black
    White


    来源  BAPC 2006 Qualification A 翻译by helang