Description
给定一个 n 行 m 列的字符矩阵。矩阵中的每个字符都有一个对应的颜色 —— 'R' 表示红色,'G' 表示绿色。
现在需要你修改这个字符矩阵中的一些字符的颜色(因为你只有红色和绿色两种燃料,且不能混合使用燃料,所以你能够做的事情只有将一个红色的字符染成绿色,或者将一个绿色的字符染成红色)。
你想要在修改最少数量的字符颜色的情况下使得任意两个相邻的字符的颜色都不相同(即:每个字符和它上下左右相邻的四个字符的颜色都不相同)。
求:最少修改的字符数量。
Input
输入的第一行包含两个整数 n 和 m(1 ≤ n,m ≤ 3000),以一个空格分隔,表示字符矩阵的行数和列数。
接下来 n 行,每行包含一个长度为 m 的字符串。字符串仅由字符 'R' 和 'G' 组成,表示每一个字符初始的颜色。
Output
输出一个整数,表示让任意两个相邻的字符均不相同所需修改的最少字符数。
【样例输入1】
5 6
RGRGRG
GRGRGR
RGRGRG
GRGRGR
RGRGRG
【样例输出2】
0
【样例输入】
6 6
RRGRGR
RGRGRG
GGGRGR
RGRGRG
GRGRGR
RGRGRG
【样例输出】
2
HINT
【样例解释】
样例1:不需要修改字符就满足条件;
样例2:只需要将第 1 行第 1 列的字符修改为 'G',同时将第 3 行第 2 列的字符修改为 'R' 就能够满足条件。
【数据规模与约定】
· 对于 30% 的数据,1 ≤ n,m ≤ 30
· 对于 60% 的数据,1 ≤ n,m ≤ 300
· 对于 100% 的数据,1 ≤ n,m ≤ 3000