@[pengqiushi](/user/735164) ```c
#include<iostream>
using namespace std;
char a[55][55];
int main(){
int n,m,i,j,w,b,r,answer=2500,ans;
cin>>n>>m;//输入n行,m列;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cin>>a[i][j];//输入"W","B","R"n行m列
}
}
for(w=1;w<=n-2;w++){//白色有几行
for(b=1;b<=n-1-w;b++){//蓝色有几行
r=n-w-b;//红色有几行
ans=0;
for(i=1;i<=w;i++){//红色是第一行开始;
for(j=1;j<=m;j++){
if(a[i][j]!='W'){//如果不是W,就记上;
ans++;
}
}
}
for(i=w+1;i<=w+b;i++){//蓝色是从红色的下一行开始;
for(j=1;j<=m;j++){
if(a[i][j]!='B'){//如果不是B,就记上;
ans++;
}
}
}
for(i=w+1+b;i<=n;i++){//白色是从蓝色的下一行开始;
for(j=1;j<=m;j++){
if(a[i][j]!='R'){//如果不是R,就记上;
ans++;
}
}
}
answer=min(answer,ans); //找最小的答案
}
}
cout<<answer;
return 0;
}
你试试这个程序
by licanxi @ 2022-12-25 23:03:52