atcoder#AGC023B. [AGC023B] Find Symmetries
[AGC023B] Find Symmetries
配点 : 点
問題文
すぬけ君は、 行 列からなるマス目状に区切られた盤面を つ持っています。 どちらの盤面についても、上から 行目、左から 列目のマスをマス と呼ぶことにします。
つめの盤面には、すべてのマスに つの英小文字が書かれています。 マス に書かれている文字は です。 つめの盤面には、まだ何も書かれていません。
すぬけ君は、次のような手順で つめの盤面に文字を書き込みます。
- まず、 つの整数 ( ) を選ぶ。
- すべてのマスに文字を書き込む。 具体的には、 つめの盤面のマス に、 つめの盤面のマス の文字を書き込む。 ここで、 行目と表される行は 行目を意味する。 同様に、 列目と表される列は 列目を意味する。
操作後、 つめの盤面がよい盤面であるとは、すべての ( ) に対して、 マス とマス にかかれている文字が等しいことを意味します。
つめの盤面がよい盤面になるような整数 ( ) の選び方が何通りあるかを求めてください。
制約
- ( ) は英小文字
入力
入力は以下の形式で標準入力から与えられる。
出力
つめの盤面がよい盤面になるような整数 ( ) の選び方が何通りあるかを出力せよ。
2
ab
ca
2
各 の組に対して、 つめの盤面は図のようになります。 つめの盤面がよい盤面となっているのは と のときです。 よって答えは です。
4
aaaa
aaaa
aaaa
aaaa
16
どのように を選んでも、 つめの盤面はよい盤面になります。
5
abcde
fghij
klmno
pqrst
uvwxy
0
どのように を選んでも、 つめの盤面はよい盤面になりません。