怎么办,有几个测试点不过
查看原帖
怎么办,有几个测试点不过
1252534
mc_nxd楼主2024/7/16 19:42
#include <iostream>
using namespace std;
char arr[100][100],brr[100][100],srr[100][100];
int n;
void v1()
{
	char crr[100][100];
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			crr[i][j]=srr[i][j];
		}
	}
	for(int i=n;i>=1;i--)
	{
		for(int j=n;j>=1;j--)
		{
			arr[i][j]=crr[n-j+1][i];
		}
	}
	return;
}
void v2()
{
	char crr[100][100];
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			crr[i][j]=srr[i][j];
		}
	}
	for(int i=n;i>=1;i--)
	{
		for(int j=n;j>=1;j--)
		{
			arr[i][j]=crr[i][n-j+1];
		}
	}
	return;
}
void v3()
{
	char crr[100][100];
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			crr[i][j]=srr[i][j];
		}
	}
	for(int i=n;i>=1;i--)
	{
		for(int j=n;j>=1;j--)
		{
			arr[i][j]=crr[n-i+1][j];
		}
	}
	return;
}
void v4()
{
	char crr[100][100];
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			crr[i][j]=srr[i][j];
		}
	}
	for(int i=n;i>=1;i--)
	{
		for(int j=n;j>=1;j--)
		{
			arr[i][j]=crr[i][n-j+1];
		}
	}
	return;
}
void rel()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			arr[i][j]=srr[i][j];
		}
	}
	return;
}
bool ist()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(arr[i][j]!=brr[i][j])
			{
				return false;
			}
		}
	}
	return true;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>srr[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>brr[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		v1();
		if(ist())
		{
			cout<<1<<endl;
			return 0;
		}
		else
		{
			rel();
			v2();
			if(ist())
			{
				cout<<2<<endl;
				return 0;
			}
			else
			{
				rel();
				v3();
				if(ist())
				{
					cout<<3<<endl;
					return 0;
				}
				else
				{
					rel();
					v4(); 
					if(ist())
					{
						cout<<4<<endl;
						return 0;
					}
					else
					{
						rel();
						v4();
						for(int k=1;k<=3;k++)
						{
							switch(k)
							{
								case 1:v1();continue; 
								case 2:v2();continue;
								case 3:v3();continue;
							}
						}
						if(ist())
						{
							cout<<5<<endl;
							return 0;
						}
						else
						{
							rel();
							if(ist())
							{
								cout<<6<<endl;
								return 0;
							}
							else
							{
								cout<<7<<endl;
								return 0;
							}
						}
					}
				}
			}
		}
	}
//	for(int i=1;i<=n;i++)
//	{
//		for(int j=1;j<=n;j++)
//		{
//			cout<<arr[i][j];
//		}
//		cout<<endl;
//	}
//	return 0;
}

2024/7/16 19:42
加载中...