求助,代码附注释
查看原帖
求助,代码附注释
264548
Tangent233楼主2020/5/8 16:28
#include<bits/stdc++.h>
using namespace std;
char flag[51][51];
int n,m;
int cnt=0,ans=10000000;
int ct(int t1,int t2,char k)
{
	int z=cnt;
//	printf("%d %d ",t1,t2);
	for(t1;t1<=t2;t1++)
	{
		for(int i=1;i<=m;i++)
		{
			if(flag[t1][m]!=k) cnt++;
		}
	}
	z=cnt-z;
//	printf("%c %d\n",k,z);
}//判断有多少个格子需要更改 
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int i1=1;i1<=m;i1++)
		{
			cin>>flag[i][i1];
		}
	}
	for(int i1=1;i1<=n-2;i1++) 
	{
		for(int i2=i1+1;i2<=n-1;i2++) //分别枚举W和B的分界线和B和R的分界线 
		{
			printf("%d %d\n",i1,i2);
			ct(1,i1,'W');
			ct(i1+1,i2,'B');
			ct(i2+1,n,'R');
			ans=min(ans,cnt);
			cnt=0;
		}
	}
	cout<<ans;
	return 0;
}

我发现我的ct函数无法实现需求,但是我找不出哪里错了,能帮我看看嘛(

2020/5/8 16:28
加载中...