atcoder#AGC023B. [AGC023B] Find Symmetries
[AGC023B] Find Symmetries
题目描述
すぬけ君は、 行 列からなるマス目状に区切られた盤面を つ持っています。 どちらの盤面についても、上から 行目、左から 列目のマスをマス と呼ぶことにします。
つめの盤面には、すべてのマスに つの英小文字が書かれています。 マス に書かれている文字は です。 つめの盤面には、まだ何も書かれていません。
すぬけ君は、次のような手順で つめの盤面に文字を書き込みます。
- まず、 つの整数 (
- すべてのマスに文字を書き込む。 具体的には、 つめの盤面のマス に、 つめの盤面のマス の文字を書き込む。 ここで、 行目と表される行は 行目を意味する。 同様に、 列目と表される列は 列目を意味する。
操作後、 つめの盤面がよい盤面であるとは、すべての ( ) に対して、 マス とマス にかかれている文字が等しいことを意味します。
つめの盤面がよい盤面になるような整数 (
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
つめの盤面がよい盤面になるような整数 (
题目大意
题目描述
Snuke 有两块板子。每块板都是一个 行 列的网格。对于这两块板子,记第 行 列的格子为 。
第一块板子的每个格子上都写着一个小写字母:格子 上的字母为 。第二块板子上没有写任何东西。
Snuke 将以以下方法在第二块板子上写下字母:
首先,选择两个整数 ,;然后在第二块板子的每个格子上写下一个字母。具体的说,第二块板子的格子 将写上 。这里第 行即第 行,第 列即为第 列。
此操作后,若对任意的 ,第二块板的格子 上的字母和格子 上的字母相同,则称第二块板为“好板”。
请你求出有多少 满足 ,且经过上述操作后第二块板为“好板”。
输入格式
输入来自以下格式的标准输入:
$\boxed{\begin{matrix}n\\ S_{1,1}S_{1,2}\dots S_{1,n}\\ S_{2,1}S_{2,2}\dots S_{2,n}\\ \vdots\\ S_{n,1}S_{n,2}\dots S_{n,n}\end{matrix}}$
输出格式
输出一个数,表示有多少 满足 ,且经过上述操作后第二块板为“好板”。
说明/提示
数据范围
- 。
- 都是小写字母。
样例解释:
对于样例 1:对于所有可能的 和 ,二号板上的字母如下所示:
当且仅当 或 时满足第二块板是“好板”,因此答案是 。
对于样例 2,所有被选中的 和 都会使第二块板成为“好板”。
对于样例 3,没有 和 可以使第二块板成为“好板”。
2
ab
ca
2
4
aaaa
aaaa
aaaa
aaaa
16
5
abcde
fghij
klmno
pqrst
uvwxy
0
提示
制約
- ( ) は英小文字
Sample Explanation 1
各 の組に対して、 つめの盤面は図のようになります。 つめの盤面がよい盤面となっているのは と のときです。 よって答えは です。 ![](https://img.atcoder.jp/agc023/2414e26dc3abb6dd7bfa0c800bb4af0c.png)
Sample Explanation 2
どのように を選んでも、 つめの盤面はよい盤面になります。
Sample Explanation 3
どのように を選んでも、 つめの盤面はよい盤面になりません。