求助大佬
这是AC代码
#include<bits/stdc++.h>
using namespace std;
int f[55][3],n,m,mm,now,ans=4000;
char op;
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n>>m;
mm=n*m;
for(int i=1;i<=n;i++){
for(int j=0;j<=2;j++){
f[i][j]+=f[i-1][j];
}
for(int j=1;j<=m;j++){
cin>>op;
if(op=='B')f[i][1]++;
if(op=='R')f[i][2]++;
//!!!!!!!!
else if(op=='W')f[i][0]++;
}
}
// for(int i=1;i<=n;i++){
// for(int j=0;j<=2;j++)cout<<f[i][j]<<",";
// cout<<'\n';
// }
//
for(int i=1;i<=n-2;i++){
for(int j=i+1;j<=n-1;j++){
now=mm-f[i][0]-f[j][1]+f[i][1]-f[n][2]+f[j][2];
ans=min(ans,now);
}
}
cout<<ans;
return 0;
}
这是AC代码样例输入后的前缀和数组

但是如果把输入时的
else if(op=='W')f[i][0]++;
换成
else f[i][0]++;
样例输入后的前缀和数组就是这样且14分

所以为什么?