谁来救救我啊
查看原帖
谁来救救我啊
1100987
wzy123456789楼主2024/5/24 18:23
#include <bits/stdc++.h>
using namespace std;

int n, a[11][11], b[11][11], c[11][11];

bool do1()
{
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			b[j][n - i + 1] = a[i][j];
		}
	}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			if (b[i][j] != c[i][j]) return false;
		}
	}
	return true;
}

bool do2()
{
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			b[n - i + 1][n - j + 1] = a[i][j];
		}
	}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			if (b[i][j] != c[i][j]) return false;
		}
	}
	return true;
}

bool do3()
{
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			b[n - j + 1][i] = a[i][j];
		}
	}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			if (b[i][j] != c[i][j]) return false;
		}
	}
	return true;
}

bool do4()
{
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			b[i][n - j + 1] = a[i][j];
		}
	}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			if (b[i][j] != c[i][j]) return false;
		}
	}
	return true;
}

bool do5()
{
	do4();
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			a[i][j] = b[i][j];
		}
	}
	if (do1()) return 1;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			a[i][j] = b[i][j];
		}
	}
	if (do2()) return 1;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			a[i][j] = b[i][j];
		}
	}
	if (do3()) return 1;
	return 0;
}

bool do6()
{
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			if (b[i][j] != c[i][j]) return false;
		}
	}
	return true;
}

void solve()
{
	if (do1()) 
	{
		cout << 1 << endl;
		return;
	}
	if (do2()) 
	{
		cout << 2 << endl;
		return;
	}
	if (do3()) 
	{
		cout << 3 << endl;
		return;
	}
	if (do4()) 
	{
		cout << 4 << endl;
		return;
	}
	if (do5()) 
	{
		cout << 5 << endl;
		return;
	}
	if (do6()) 
	{
		cout << 6 << endl;
		return;
	}
	cout << 7 << endl;
	return;
}

int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			cin >> a[i][j];
		}
	}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			cin >> c[i][j];
		}
	}
	solve();
	return 0;
}
2024/5/24 18:23
加载中...