123AC其他WA,求
  • 板块P3392 涂国旗
  • 楼主linjiuhan
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/6 21:29
  • 上次更新2024/3/7 12:37:52
查看原帖
123AC其他WA,求
1201186
linjiuhan楼主2024/3/6 21:29

求

#include<iostream>
#include<cstdio>
#include<algorithm> 
using namespace std;
int n,m,s,whs[55],bs[55],rs[55],whc[55],rc[55],bc[55],swh,sbl,sr;
char a[55][55],hs='W';
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
			switch(a[i][j])
			{
				case 'W': whs[i]++;break;
				case 'B': bs[i]++;break;
				case 'R': rs[i]++;break
			}
			whc[i]=m-whs[i];
			bc[i]=m-bs[i];
			rc[i]=m-rs[i];
		}
	}
	s+=whc[1];
	for(int i=2;i<=n;i++)
	{
			if(hs=='W')
			{
				if(whc[i]<=bc[i]&&n-i>=2)
				{
					if(whc[i]<bc[i])
					{
						s+=whc[i];
					}
					else
					{
						for(int j=i+1;j<=n-3;j++)
						{
							swh+=whc[j];
							sbl+=bc[j];
	 				 	}
	 				 	if(swh<sbl&&n-i-1>=2)
						{
				   		 	 s+=whc[i];
						}
						else
						{
							s+=bc[i];
							hs='B';
						}
						sbl=0;
						swh=0;
					}
				}
				else
				{
					s+=bc[i];
					hs='B';
				}
			}
			else if(hs=='B')
			{
				if(bc[i]<=rc[i]&&n-i>=1)
				{
					if(bc[i]<rc[i])
					{
						s+=bc[i];
					}
					else
					{
						for(int j=i+1;j<=n-3;j++)
						{
							sr+=rc[j];
							sbl+=bc[j];
	 				 	}
	 				 	if(sbl<sr&&n-i-1>=1)
						{
				   		 	 s+=bc[i];
						}
						else
						{
							s+=rc[i];
							hs='R';
						}
						sbl=0;
						sr=0;
					}
				}
				else
				{
					s+=rc[i];
					hs='R';
				}
			}
			else
			{
				s+=rc[i];
	   		}
	}
	cout<<s;
	return 0;
}
2024/3/6 21:29
加载中...