0分,救救我
查看原帖
0分,救救我
1264600
Lazy_make_name楼主2024/3/9 10:13

我没什么特别思路,就暴力

#include<iostream> 
#include<string>
using namespace std;
int main(){
	string u;
	int a[50][50];
	int y[50][50];
	int h[50][50];
	int n/*行*/,m/*列*/,ji=0,lei=2147483647;
	string k;
	cin>>n>>m;
	for(int i=1;i<=n;i++){//输入 
		cin>>u;
		for(int j=1;j<=m;j++){
			k=u.substr(j-1,j);
			if(k=="W")
				y[j][i]=1;
			else if(k=="B")
				y[j][i]=2;
			else
				y[j][i]=3;
		}
	}
	for(int i=1;i<=n-2;i++){
		for(int j=1;j<n-i;i++){
			ji=0;
			for(int q=1;q<=i;q++)//白 
				for(int o=1;o<=m;o++)
					h[q][o]=1;
			for(int q=i+1;q<=j;q++)//蓝 
				for(int o=1;o<=m;o++)
					h[q][o]=2;
			for(int q=j+1;q<=n;q++)//红 
				for(int o=1;o<=m;o++)
					h[q][o]=3;
			for(int q=1;q<=n;q++)//统计 
				for(int o=1;o<=m;o++)
					if(y[q][o]!=h[q][o])
						ji++;
			if(ji<lei)
				lei=ji;
		}
	}
	cout<<lei;
}
2024/3/9 10:13
加载中...