题目链接P3392 涂条纹 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
代码如下
#include<bits/stdc++.h>
using namespace std;
char a[51][51];
int main()
{
int n, m, ans, x = 99999999;
cin >> n >> m;
for(int i = 1; i <= n; i ++)
for(int j = 1; j <= m; j ++ ) cin >> a[i][j];
for(int i = 1; i <= n - 2; i ++) //枚举白蓝界限, 即i是最后一行白色
for(int j = i + 1; j <= n - 1; j ++) //枚举蓝红界限,j是最后一行蓝色
{
ans = 0;
//开始枚举各个区域需要的格子数目
for(int k = 1; k <= i; k ++) //白色区域
for(int g = 1; g <= m; g ++)
if(a[k][g] != 'W') ans++;
for(int k = i + 1; k <= j ; k ++) //蓝色区域
for(int g = 1; g <= m; g ++)
if(a[k][g] != 'B') ans++;
for(int k = j+ 1; k <= n ; k ++) //红色区域
for(int g = 1; g <= m; g ++)
if(a[k][g] != 'R') ans++;
x = min(ans, x);
}
cout << x << endl;
return 0;
}