AT_joi2016yo_c ロシアの旗 (Russian Flag)
题目描述
K 理事长为了配合在俄罗斯举办的 IOI 2016,决定制作一面旗帜。K 理事长首先从仓库里拿出了一面旧旗。这面旗被分成 $N$ 行 $M$ 列的格子,每个格子被涂成了白色、蓝色或红色中的一种颜色。
K 理事长打算通过重新涂色,将这面旧旗变成俄罗斯国旗。这里所说的俄罗斯国旗,定义如下:
- 从上往下,若干行(至少 $1$ 行)的所有格子都被涂成白色。
- 接下来若干行(至少 $1$ 行)的所有格子都被涂成蓝色。
- 剩下的行(至少 $1$ 行)的所有格子都被涂成红色。
请你求出,为了将旧旗变成俄罗斯国旗,最少需要重新涂色的格子数。
输入格式
输入共 $1+N$ 行。
第 $1$ 行包含两个整数 $N, M$($3 \leq N \leq 50$,$3 \leq M \leq 50$),表示旗帜被分为 $N$ 行 $M$ 列的格子。
接下来的 $N$ 行,每行是一个长度为 $M$ 的字符串,表示旧旗每个格子的颜色信息。第 $i$ 行第 $j$ 个字符($1 \leq i \leq N$,$1 \leq j \leq M$)为 `W`、`B` 或 `R`,分别表示白色、蓝色、红色。
输出格式
输出一个整数,表示将旧旗变成俄罗斯国旗所需重新涂色的最小格子数。
说明/提示
### 样例解释 1
在输入输出样例 $1$ 中,旧旗的颜色如下图所示。

如下图所示,将带有 `X` 的 $11$ 个格子重新涂色。

这样就可以得到如下图所示的俄罗斯国旗。

无法通过更少于 $11$ 个格子的重新涂色得到俄罗斯国旗,因此输出 $11$。
### 样例解释 2
在输入输出样例 $2$ 中,旧旗的颜色如下图所示。

由 ChatGPT 4.1 翻译