暴力死亡代码
查看原帖
暴力死亡代码
1025171
elainya_stars楼主2024/4/30 16:22

暴力死亡代码

#include<bits/stdc++.h>
using namespace std;
int n;
bool a[11][11],aa[11][11],b[11][11],c[11][11];
void turn90()
{
	memset(c,0,sizeof c);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  c[j][n-i+1]=a[i][j];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=c[i][j];
	return ;
}
void flip()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  c[i][n-j+1]=a[i][j];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=c[i][j];
	return ;
}
bool isTurn90()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=aa[i][j];
	turn90();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(b[i][j]!=a[i][j])
			  return false;
	return true;
}
bool isTurn180()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=aa[i][j];
	turn90();
	turn90();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(b[i][j]!=a[i][j])
			  return false;
	return true;
}
bool isTurn270()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=aa[i][j];
	turn90();
	turn90();
	turn90();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(b[i][j]!=a[i][j])
			  return false;
	return true;
}
bool isFlip()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=aa[i][j];
	flip();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(b[i][j]!=a[i][j])
			  return false;
	return true;
}
bool isMultiple90()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=aa[i][j];
	flip();
	turn90();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(b[i][j]!=a[i][j])
			  return false;
	return true;
}
bool isMultiple180()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=aa[i][j];
	flip();
	turn90();
	turn90();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(b[i][j]!=a[i][j])
			  return false;
	return true;
}
bool isMultiple270()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=aa[i][j];
	flip();
	turn90();
	turn90();
	turn90();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(b[i][j]!=a[i][j])
			  return false;
	return true;
}
bool isMultiple()
{
	if(isMultiple90() || isMultiple180() || isMultiple270())
	  return true;
	return false;
}
bool noTurn()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  a[i][j]=aa[i][j];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(b[i][j]!=a[i][j])
			  return false;
	return true;
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		string s;
		cin>>s;
		for(int j=1;j<=n;j++)
		{
			if(s[j-1]=='@')
			  a[i][j]=1;
			else
			  a[i][j]=0;
		}
	}
	for(int i=1;i<=n;i++)
	{
		string s;
		cin>>s;
		for(int j=1;j<=n;j++)
		{
			if(s[j-1]=='@')
			  b[i][j]=1;
			else
			  b[i][j]=0;
		}
	}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		  aa[i][j]=a[i][j];
	if(isTurn90())
	  printf("1");
	else if(isTurn180())
	  printf("2");
	else if(isTurn270())
	  printf("3");
	else if(isFlip())
	  printf("4");
	else if(isMultiple())
	  printf("5");
	else if(noTurn())
	  printf("6");
	else
	  printf("7");
	return 0;
}
2024/4/30 16:22
加载中...