Module: 在中间相遇


Problem

3 /5


回文路径

Problem

John 的农场由 N×N 个字段 (2≤N≤18) 组成的网格表示,每个字段都标有字母表中的一个字母。例如,
ABCD
BXZX
CDXB
WCBA
Besi 奶牛每天从左上角移动到右下角,向右移动一个单元格或向下移动一个单元格。 Besi 写下了她的路线所产生的字符串,该字符串是根据她走过的字母构建的。如果结果字符串是回文(它从头到尾和从尾到头的读法相同),她会非常不高兴,因为她会搞不清自己往哪个方向走。
 
请帮助 Besie 算出她在旅途中可以形成多少种不同的回文。形成同一个回文的不同方式应该只计算一次。例如,在上面的例子中,ABXZXBA的回文串有多种构成方式,但Besi只能构成ABCDCBA、ABCWCBA、ABXZXBA、ABXDXBA这4种不同的回文串。
 
输入格式:
输入的第一行包含N,随后的N行包含N 字段说明。每行包含 A..Z 范围内的 N 个字符。

输出格式:
打印 Besi 可以形成的不同回文数。
<分区>  <正文>
 
输入 输出
4
ABCD
BXZX
CDXB
WCBA
4