只能过1和3测试样本啊,帮忙看看,那有问题
查看原帖
只能过1和3测试样本啊,帮忙看看,那有问题
493919
ml20240212楼主2022/2/19 11:33
cpp
#include <bits/stdc++.h>
using namespace std;
int m,n,wh[1000],rh[1000],bh[1000],ans;
int whh,bhh,rhh;
char a[600][600];
int main() {
	cin >> m >> n;
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin >> a[i][j];
		}
	}
	wh[0]=100;
//白 
	for(int i=1;i<=m-1;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]!='W')
				wh[i]++;
		}
		if(wh[i]<wh[i-1])
			whh=i;
	}
//  	cout << "whh=" << whh << endl;
	for(int i=1;i<=whh;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]!='W')
			{
				ans++;
//  			cout << i << ";" << j << endl;
			}
		}
	}
//蓝 
	bh[whh]=100;
	for(int i=whh+1;i<=m-1;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]!='B')
				bh[i]++;
		}
		if(bh[i]<bh[i-1])
			bhh=i;
	}
//  	cout << "bhh=" << bhh << endl;
	for(int i=whh+1;i<=bhh;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]!='B')
			{
				ans++;
//  			cout << i << ";" << j << endl;
			}
				
		}
	}
//红 
	for(int i=bhh+1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]!='R')
			{
				ans++;
//  			cout << i << ";" << j << endl;
			}
		}
	}
	cout << ans;
	return 0;
}
2022/2/19 11:33
加载中...