#HK4215. 「CCO 2016」O Canada

「CCO 2016」O Canada

题目描述

译自 CCO 2016 Day2 T1「O Canada

有一个 NNNN 列的方格网,每个格子要么是红色,要么是白色。

如果方格网 AA 可以通过一系列的变换变成方格网 BB,那么 AABB 就是相似的。每次变换可以选择方格网中的一个 2×22\times 2 的正方形区域,然后将区域内所有格子的颜色翻转(红变白,白变红)。

现在给你 GG 个方格网,请你计算出其中有多少对相似的方格网。具体来说,给方格网编号为 11GG,统计满足以下条件的数对 (i,j)(i, j) 的数量:1i<jG1 \leq i < j \leq G 且方格网 ii 和方格网 jj 相似。

输入格式

输入的第一行包含一个整数 NN,表示方格网的大小。第二行包含一个整数 GG,表示方格网的数量。接下来是 N×GN \times G 行,每行包含 NN 个字符,每个字符是 RW,分别表示对应格子的颜色(红色或白色)。其中,前 NN 行描述第一个方格网,接下来的 NN 行描述第二个方格网,以此类推。

输出格式

输出相似的方格网对的数量。

2
2
RW
WR
WR
RW
1

只有两个方格网,它们是相似的,因为第一个方格网可以通过一次变换(选择整个方格网作为 2×22\times 2 正方形)变成第二个方格网。

数据范围与提示

对于 48%48\% 的数据,2G102 \leq G \leq 10
对于 100%100\% 的数据,2N10,2G100002 \leq N \leq 10,2 \leq G \leq 10000