#P11878. 城堡中的皇后
城堡中的皇后
题目描述
2024 年 9 月 11-22 日,第 45 届国际象棋奥林匹克团体赛在匈牙利首都布达佩斯举行。小威,作为一个国际象棋爱好者,正在密切关注着这场比赛。
图注:在第五轮比赛中,中国选手韦奕战胜西班牙选手,帮助中国队以 2.5:1.5 的比分战胜西班牙队
现在,小威要向你介绍一些基础的国际象棋知识:
-
国际象棋棋盘共有 8 行 8 列,自左向右以 表示列,自下而上以 表示行;
-
每方各有一个国王、一个皇后、两个马、两个象、两个车以及八个兵。初始局面如下:
-
国王可以攻击到它同一行、同一列、同一斜线上一格内的位置,例如:
图注:国王的攻击范围,箭头表示它能攻击到的位置
-
皇后可以攻击到它同一行、同一列、同一斜线上任意格内的位置,例如:
-
马可以攻击到形似"L"型的位置,且没有"蹩马脚"限制,例如:
-
象可以攻击到同一斜线上任意格内的位置,例如:
-
车可以攻击到同一行、同一列上任意格内的位置,例如:
-
兵可以攻击到前进方向上斜向一格内的位置,例如:
-
当王处于对方某个棋子的攻击范围内时,称作被将军(check),例如:
图注:此时黑方的王处于白方皇后的攻击范围内,黑方被将军
我们使用 FEN 格式描述一个局面。FEN 格式是一个字符串,其中包含 7 个斜杠(/),将字符串分为 8 个部分 。其中, 对应第 行的内容, 对应第 行的内容,以此类推。对于 , 表示第 列的内容, 表示第 列的内容,以此类推。
请注意, 的长度不一定等于 8。
我们用 R
表示白方的车,N
表示白方的马,B
表示白方的象,Q
表示白方的皇后,K
表示白方的王,P
表示白方的兵,字符的小写格式对应黑方的棋子。
在字符串中还会出现 的数字,表示出现了连续 个没有棋子的空格。
例如,现在有一个局面:
其对应的 FEN 为 r1bq1rk1/pppp1ppp/2n2n2/2b1p3/2B1P3/1P3N2/PBPP1PPP/RN1Q1RK1
。
现在,小威给你了一个使用 FEN 描述的局面,请你告诉他,是否有一方处于被将军的状态。
输入格式
第一行输入一个正整数 ,表示局面个数。
接下来 行,每行输入一个符合 FEN 格式的字符串 ,表示一个合法的局面。
对于所有数据,满足:,且局面中不存在双方同时被将军的情况。
输出格式
共 行。
第 行输出第 个局面的情况:如果白方被将军,输出 check
;如果黑方被将军,输出 CHECK
;如果不存在一方被将军,输出 none
。
提示
对于第三组样例,三个局面分别如下所示: