0分求助
  • 板块P3392 涂国旗
  • 楼主Ptt2012
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/2 16:15
  • 上次更新2023/12/2 18:27:33
查看原帖
0分求助
939841
Ptt2012楼主2023/12/2 16:15
#include <bits/stdc++.h>
using namespace std;
int n,m;
char a[60][60];
int w[60],b[60],r[60];
int find(char c,int x)
 {
  int cnt=0;
  for(int i=1;i<=m;i++)
    if(a[x][i]!=c)
      cnt++;
  return cnt;
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	  for(int j=0;j<=m;j++)
	    scanf("%c",&a[i][j]);
	for(int i=1;i<=n;i++)
	 {
	  w[i]=find('W',i);
	  b[i]=find('B',i);
	  r[i]=find('R',i);
	}
	int ans=0x3f3f3f;
	for(int l=1;l<=n-2;l++)
	 {
	  for(int rt=l+1;rt<=n-1;rt++)
	   {
	   	int cnt=0;
	    for(int i=1;i<=n;i++)
	     {
	      if(i<=l) cnt+=w[i];
	      else if(i<=rt) cnt+=b[i];
	      else cnt+=r[i];
		}
		ans=min(ans,cnt);
	  }
	}
	printf("%d",ans);
	return 0;
 }
2023/12/2 16:15
加载中...