#include<bits/stdc++.h>
using namespace std;
char flag[51][51];
int n,m;
int cnt=0,ans=10000000;
int ct(int t1,int t2,char k)
{
int z=cnt;
// printf("%d %d ",t1,t2);
for(t1;t1<=t2;t1++)
{
for(int i=1;i<=m;i++)
{
if(flag[t1][m]!=k) cnt++;
}
}
z=cnt-z;
// printf("%c %d\n",k,z);
}//判断有多少个格子需要更改
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int i1=1;i1<=m;i1++)
{
cin>>flag[i][i1];
}
}
for(int i1=1;i1<=n-2;i1++)
{
for(int i2=i1+1;i2<=n-1;i2++) //分别枚举W和B的分界线和B和R的分界线
{
printf("%d %d\n",i1,i2);
ct(1,i1,'W');
ct(i1+1,i2,'B');
ct(i2+1,n,'R');
ans=min(ans,cnt);
cnt=0;
}
}
cout<<ans;
return 0;
}
我发现我的ct函数无法实现需求,但是我找不出哪里错了,能帮我看看嘛(