#include<bits/stdc++.h>
using namespace std;
#define N 1005
int n,m,w[N],b[N],r[N];
int ans=0x3f3f3f3f;
string s;
int cal(char c){
int t=0;
for(int i=0;i<m;++i)
if(s[i]!=c)
t++;
return t;
}
int main( )
{
cin>>n>>m;
for(int i=1;i<=n;++i){
cin>>s;
w[i]=w[i-1]+cal('W');
b[i]=b[i-1]+cal('B');
r[i]=r[i-1]+cal('R');
}
for(int i=1;i<n-1;++i)
for(int j=i+1;j<n;++j)
ans=min(ans,w[i]+b[j]-b[i]+r[n]-r[j]);
cout<<ans;
return 0;
}
码题集——小码哥的三色墙
最新推荐文章于 2024-09-14 22:25:23 发布
该文章详细阐述了一个C++程序,运用动态规划方法解决字符串中特定字符计数问题,寻找子串字符W,B,R出现次数差的最小值。
摘要由CSDN通过智能技术生成