#P5395. 字母棋
字母棋
题目描述
放假了,字母王国的 A∼Z 这 26 个好朋友围坐在火炉旁玩起了游戏。模仿人类的井字棋游戏规则,他们创造了字母棋。
字母棋的游戏场景仍然是一个 3×3 的棋盘构成的,每个格子会由 A∼Z 中的某个字母所占领。
形如下图: DFB YDF BYD
有两种获胜的情况:
- 如果某个字母占领了某一行,某一列,或者某一对角线的三个格子,则这个字母获胜。
- 允许两个不同的字母组队出战,如果某一行,某一列,或者某一对角线由这两个字母完全占领,且这两个字母每个至少出现一次,则这个组合获胜。
你的任务是帮字母们编写一个程序,计算棋盘中单独获胜的字母有多少种以及组队获胜的有多少种。棋盘上的同一个格子可能在不同字母或队伍的获胜中均被用到。
输入格式
输入包含三行,每行三个字母。
输出格式
输出包含两行。
- 第一行,输出独自获胜的字母的种数。
- 第二行,输出能够组队获胜的队伍数量 (相同字母,先后顺序不同仍属于同一队伍,例如 A,B 和 B,A 属于同一队伍)。
样例输入输出
样例 1
- 样例输入 1:
DFB
YDF
BYD
- 样例输出 1:
1
1
样例 2
- 样例输入 2:
AAB
ACD
BFG
- 样例输出 2:
0
3
样例 3
- 样例输入 3:
AAA
ABA
ABB
- 样例输出 3:
2
6
Hint
样例 1 解释
字母 D 通过对角线实现单独获胜。 字母 B 和 D 组队后通过对角线 B−D−B 获胜。
其他样例说明
无额外补充说明(原文未提供样例 2、3 详细解释,故保留原样)。