14'?
查看原帖
14'?
1294759
Hydrogen_H楼主2025/1/4 21:19

代码如下:

#include<bits/stdc++.h>
using namespace std;
int f[12][12];
int t[12][12];
int H[12][12];
bool ps(int n)
{
	for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)    if(H[i][j]!=t[i][j])    return false;
	return true;
}
bool ps2(int n)
{
	for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)    if(f[i][j]!=t[i][j])    return false;
	return true;
}
bool c1(int n)
{
	for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)    H[i][j]=f[j][n-i+1];
	return ps(n);
}
bool c2(int n)
{
	for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)    H[i][j]=f[n-i+1][n-j+1];
	return ps(n);
}
bool c3(int n)
{
	for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)    H[i][j]=f[j][i];
	return ps(n);
}
bool c4(int n)
{
	for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)    H[i][j]=f[i][n-j+1];
	return ps(n);
}
bool c5(int n)
{
	for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)    H[i][j]=f[i][n-j+1];
	for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)    f[i][j]=H[i][j];
	if(c1(n)||c2(n)||c3(n))    return true;
	return false;
}
bool c6(int n)
{
	return ps2(n);
}
int main()
{
	string a;
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a;
		for(int j=0;j<n;j++)
		{
			if(a[j]=='@')    f[i][j]=1;
			else    f[i][j]=0;
		}
	}
	for(int i=1;i<=n;i++)
	{
		cin>>a;
		for(int j=0;j<n;j++)
		{
			if(a[j]=='@')    t[i][j+1]=1;
			else    t[i][j+1]=0;
		}
	}
	if(c1(n))    cout<<1;
	else if(c2(n))    cout<<2;
	else if(c3(n))    cout<<3;
	else if(c4(n))    cout<<4;
	else if(c5(n))    cout<<5;
	else if(c6(n))    cout<<6;
	else    cout<<7;
	return 0;
}

评测结果

2025/1/4 21:19
加载中...