各位大佬帮忙看看到底哪里错了,感觉思路挺对的
  • 板块P3392 涂国旗
  • 楼主seven7777
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/2/28 20:24
  • 上次更新2023/11/5 02:34:42
查看原帖
各位大佬帮忙看看到底哪里错了,感觉思路挺对的
325650
seven7777楼主2021/2/28 20:24
#include <bits/stdc++.h> 
using namespace std;
string s;
int n,m;
int w[60]={0},b[60]={0},r[60]={0};
inline int check(char c)
{
	int num=0;
	for(int i=0;i<m;i++)
	{
		if(s[i]!=c)
			num++;
	}
	return num;
}  //判断是否需要重新涂
int main()
{
	int ans=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>s;
		w[i]=w[i-1]+check('W');  //逐渐累加
		b[i]=b[i-1]+check('B');
		r[i]=r[i-1]+check('R');	
	}
	for(int i=1;i<=n-2;i++)  //白色边界
	{
		for(int j=i+1;j<=n-1;j++)  //蓝色边界 
		{
			ans=min(ans,w[i]+b[j]-b[i]+r[n]-r[j]);
		}
	}	
	cout<<ans<<endl;
	return 0;
} 
2021/2/28 20:24
加载中...