2129: 国际象棋

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:6 通过:3

题目描述

给定国际象棋棋盘ASCII格式的图片,打印棋子位置信息。
其中白色玩家的棋子用大写字母表示,而黑色玩家的棋子用小写字母表示。
棋子包括“K”(国王)、“Q”(皇后)、“R”(车)、“B”(象)、“N”(马)或“P”(兵)。
棋盘轮廓由加号(“+”)、减号(“-”)和竖线(“|”)字符组成。
黑色的方块用冒号(“:”)填充,白色的方块用点号(“.”)填充。

输入格式

输入见样例。

输出格式

输出由两行组成。
第一行由字符串“White:”组成,后面跟着白色玩家棋子的位置描述。
第二行由字符串“Black:”组成,后面跟着黑色玩家棋子的位置描述。
棋子位置的描述是逗号分隔的列表,用于描述玩家的棋子。
一个棋子的描述首先输出一个大写字母,表示棋子的类型(除了兵以外),紧接着是棋子在标准国际象棋符号中的位置,
即一个小写字母“a”到“h”表示列(输入最左边列号为“a”),以及一个1到8的数字表示行(输入顶部的行号为8)。
描述中的棋子必须按照以下顺序出现:国王(“K”)、皇后(“Q”)、车(“R”)、象(“B”)、马(“N”)和兵。
请注意,棋子的数量可能与初始位置不同。
如果输出时出现两个相同类型的棋子,则如果棋子是白色,则先输出行数较小的棋子,如果棋子是黑色,则先输出行数较大的。
如果两个同类型的棋子出现在同一行中,则较小的列字母必须先出现。

输入样例 复制

+---+---+---+---+---+---+---+---+
|.r.|:::|.b.|:q:|.k.|:::|.n.|:r:|
+---+---+---+---+---+---+---+---+
|:p:|.p.|:p:|.p.|:p:|.p.|:::|.p.|
+---+---+---+---+---+---+---+---+
|...|:::|.n.|:::|...|:::|...|:p:|
+---+---+---+---+---+---+---+---+
|:::|...|:::|...|:::|...|:::|...|
+---+---+---+---+---+---+---+---+
|...|:::|...|:::|.P.|:::|...|:::|
+---+---+---+---+---+---+---+---+
|:P:|...|:::|...|:::|...|:::|...|
+---+---+---+---+---+---+---+---+
|.P.|:::|.P.|:P:|...|:P:|.P.|:P:|
+---+---+---+---+---+---+---+---+
|:R:|.N.|:B:|.Q.|:K:|.B.|:::|.R.|
+---+---+---+---+---+---+---+---+

输出样例 复制

White: Ke1,Qd1,Ra1,Rh1,Bc1,Bf1,Nb1,a2,c2,d2,f2,g2,h2,a3,e4
Black: Ke8,Qd8,Ra8,Rh8,Bc8,Ng8,Nc6,a7,b7,c7,d7,e7,f7,h7,h6

数据范围与提示

来源:CTU Open 2005