#5128. 字母棋

    ID: 5128 传统题 1000ms 128MiB 尝试: 1 已通过: 1 难度: 2 上传者: 标签>二维数组数据去重问题24-1-A组月赛普及−T4

字母棋

题目描述

放假了,字母王国的 AZA \sim Z2626 个好朋友围坐在火炉旁玩起了游戏。模仿人类的井字棋游戏规则,他们创造了字母棋。

字母棋的游戏场景仍然是一个 3×33 \times 3 的棋盘构成的,每个格子会由 AZA \sim Z 中的某个字母所占领。

形如下图:

DFB
YDF
BYD

有两种获胜的情况:

  1. 如果某个字母占领了某一行,某一列,或者某一对角线的三个格子,则这个字母获胜。
  2. 允许两个不同的字母组队出战,如果某一行,某一列,或者某一对角线由这两个字母完全占领,且这两个字母每个至少出现一次,则这个组合获胜。

你的任务是帮字母们编写一个程序,计算棋盘中单独获胜的字母有多少种以及组队获胜的有多少种。棋盘上的同一个格子可能在不同字母或队伍的获胜中均被用到。

输入格式

输入包含三行,每行三个字母。

输出格式

输出包含两行:

  • 第一行,输出独自获胜的字母的种数
  • 第二行,输出能够组队获胜的队伍数量(相同字母,先后顺序不同仍属于同一队伍,例如 A,BA,BB,AB,A 属于同一队伍)

样例

DFB
YDF
BYD
1
1
AAB
ACD
BFG
0
3
AAA
ABA
ABB
2
6

提示

样例 1 解释:

  • 字母 DD 通过对角线实现单独获胜
  • 字母 BBDD 组队后通过对角线 BDBB-D-B 获胜

数据范围

  • 输入仅包含大写字母 AZA \sim Z