atcoder#AGC023B. [AGC023B] Find Symmetries

[AGC023B] Find Symmetries

题目描述

すぬけ君は、N N N N 列からなるマス目状に区切られた盤面を 2 2 つ持っています。 どちらの盤面についても、上から i i 行目、左から j j 列目のマスをマス (i,j) (i,j) と呼ぶことにします。

1 1 つめの盤面には、すべてのマスに 1 1 つの英小文字が書かれています。 マス (i,j) (i,j) に書かれている文字は Si,j S_{i,j} です。 2 2 つめの盤面には、まだ何も書かれていません。

すぬけ君は、次のような手順で 2 2 つめの盤面に文字を書き込みます。

  • まず、2 2 つの整数 A, B A,\ B ( 0  A, B ) を選ぶ。 0\ \leq\ A,\ B\ )\ を選ぶ。
  • すべてのマスに文字を書き込む。 具体的には、2 2 つめの盤面のマス (i,j) (i,j) に、1 1 つめの盤面のマス ( i+A, j+B ) (\ i+A,\ j+B\ ) の文字を書き込む。 ここで、N+k N+k 行目と表される行は k k 行目を意味する。 同様に、N+k N+k 列目と表される列は k k 列目を意味する。

操作後、2 2 つめの盤面がよい盤面であるとは、すべての i, j i,\ j ( 1  i, j  N 1\ \leq\ i,\ j\ \leq\ N ) に対して、 マス (i,j) (i,j) とマス (j,i) (j,i) にかかれている文字が等しいことを意味します。

2 2 つめの盤面がよい盤面になるような整数 A, B A,\ B ( 0  A, B ) の選び方が何通りあるかを求めてください。 0\ \leq\ A,\ B\ )\ の選び方が何通りあるかを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N S1,1S1,2..S1,N S_{1,1}S_{1,2}..S_{1,N} S2,1S2,2..S2,N S_{2,1}S_{2,2}..S_{2,N} : : SN,1SN,2..SN,N S_{N,1}S_{N,2}..S_{N,N}

输出格式

2 2 つめの盤面がよい盤面になるような整数 A, B A,\ B ( 0  A, B ) の選び方が何通りあるかを出力せよ。 0\ \leq\ A,\ B\ )\ の選び方が何通りあるかを出力せよ。

题目大意

题目描述

Snuke 有两块板子。每块板都是一个 nnnn 列的网格。对于这两块板子,记第 iijj 列的格子为 (i,j)(i,j)

第一块板子的每个格子上都写着一个小写字母:格子 (i,j)(i,j) 上的字母为 Si,jS_{i,j}。第二块板子上没有写任何东西。

Snuke 将以以下方法在第二块板子上写下字母:

首先,选择两个整数 AABB;然后在第二块板子的每个格子上写下一个字母。具体的说,第二块板子的格子 (i+A,j+B)(i+A,j+B) 将写上 Si,jS_{i,j}。这里第 n+kn+k 行即第 kk 行,第 n+kn+k 列即为第 kk 列。

此操作后,若对任意的 i,ji,j,第二块板的格子 (j,i)(j,i) 上的字母和格子 (i,j)(i,j) 上的字母相同,则称第二块板为“好板”。

请你求出有多少 A,BA,B 满足 0A,B<n0\le A,B<n,且经过上述操作后第二块板为“好板”。

输入格式

输入来自以下格式的标准输入:

$\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}}$

输出格式

输出一个数,表示有多少 A,BA,B 满足 0A,B<n0\le A,B<n,且经过上述操作后第二块板为“好板”。

说明/提示

数据范围

  • 1n3001\le n\le 300
  • Si,jS_{i,j} 都是小写字母。

样例解释:

对于样例 1:对于所有可能的 AABB,二号板上的字母如下所示:

当且仅当 (A,B)=(0,1)(A,B)=(0,1)(A,B)=(1,0)(A,B)=(1,0) 时满足第二块板是“好板”,因此答案是 2222

对于样例 2,所有被选中的 AABB 都会使第二块板成为“好板”。

对于样例 3,没有 AABB 可以使第二块板成为“好板”。

2
ab
ca
2
4
aaaa
aaaa
aaaa
aaaa
16
5
abcde
fghij
klmno
pqrst
uvwxy
0

提示

制約

  • 1  N  300 1\ \leq\ N\ \leq\ 300
  • Si,j S_{i,j} ( 1  i, j  N 1\ \leq\ i,\ j\ \leq\ N ) は英小文字

Sample Explanation 1

A, B A,\ B の組に対して、2 2 つめの盤面は図のようになります。 2 2 つめの盤面がよい盤面となっているのは (A,B) = (0,1) (A,B)\ =\ (0,1) (A,B) = (1,0) (A,B)\ =\ (1,0) のときです。 よって答えは 2 2 です。 ![](https://img.atcoder.jp/agc023/2414e26dc3abb6dd7bfa0c800bb4af0c.png)

Sample Explanation 2

どのように A, B A,\ B を選んでも、2 2 つめの盤面はよい盤面になります。

Sample Explanation 3

どのように A, B A,\ B を選んでも、2 2 つめの盤面はよい盤面になりません。