求助AT_abc300b
  • 板块学术版
  • 楼主封禁用户
  • 当前回复9
  • 已保存回复9
  • 发布时间2023/4/29 21:41
  • 上次更新2023/10/23 17:12:46
查看原帖
求助AT_abc300b
734533
封禁用户楼主2023/4/29 21:41
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
char ch[100][100];
char chh[100][100];
int ans1,ans2;
int a[1000],b[1000];
int c[1000],d[1000];
signed main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++) 
		cin>>ch[i][j];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++) 
		cin>>chh[i][j];	
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(ch[i][j]=='#')
			{
				ans1++;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(chh[i][j]=='#')
			{
				ans2++;
			}
		}
	}	
	if(ans1!=ans2) return cout<<"No",0;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(ch[i][j]=='#')
			{
				a[i]++;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(chh[i][j]=='#')
			{
				b[i]++;
			}
		}
	}
	bool bo=0;	
	bool kk=1;
	for(int i=1;i<=n;i++)
	{
		bo=0;
		for(int j=i,k=1;j<=n+i-1;j++,k++)
		{
			if(j%n==0) 
			{
				if(a[n]!=b[k]) bo=1;
			}
			else
			{
				if(a[j%n]!=b[k]) bo=1;
			}
		}
		if(!bo) 
		{
			kk=0;
		}
	}
	if(kk==1) return cout<<"No",0;
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(ch[j][i]=='#')
			{
				c[i]++;
			}
		}
	}
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(chh[j][i]=='#')
			{
				d[i]++;
			}
		}
	}
	bo=0;	
	kk=1;
	for(int i=1;i<=m;i++)
	{
		bo=0;
		for(int j=i,k=1;j<=m+i-1;j++,k++)
		{
			if(j%m==0) 
			{
				if(c[m]!=d[k]) bo=1;
			}
			else
			{
				if(c[j%m]!=d[k]) bo=1;
			}
		}
		if(!bo) 
		{
			kk=0;
		}
	}
	if(kk==1) return cout<<"No",0;
	else cout<<"Yes";
}

RT,我的代码,WA了6个点,不知道为啥pwp

2023/4/29 21:41
加载中...