56pts暴力解法求助!
查看原帖
56pts暴力解法求助!
703319
Sylvia_starx楼主2023/7/17 15:21
#include<bits/stdc++.h>
using namespace std;
const int N = 15;
int n,cnt;
char a[N][N],b[N][N];
bool check1()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			char c = b[j][n-i+1];
			if(c != a[i][j])
				return 0;
		}
	}
	return 1;
}
bool check2()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			char c = b[n-i+1][j];
			if(c != a[i][j])
				return 0;
		}
	}
	return 1;
}
bool check3()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			char c = b[n-j+1][i];
			if(c != a[i][j])
				return 0;
		}
	}
	return 1;
}
bool check4()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			char c = b[i][n-i+1];
			if(c != a[i][j])
				return 0;
		}
	}
	return 1;
}
bool check5()
{
	bool f = 0;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			char c = b[j][n-i+1];
			if(c != a[i][j])
				f = 1;
			a[i][j] = c;
		}
	}
	if(f == 0)
		return 1;
	else if(check1() || check2() || check3())
		return 1;
	return 0;
}
bool check6()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			char c = b[i][j];
			if(c != a[i][j])
				return 0;
		}
	}
	return 1;
}
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>>b[i][j];
	if(check1() == 1)
	{
		cout<<1;
		return 0;
	}
	if(check2() == 1)
	{
		cout<<2;
		return 0;
	}
	if(check3() == 1)
	{
		cout<<3;
		return 0;
	}
	if(check4() == 1)
	{
		cout<<4;
		return 0;
	}
	if(check5() == 1)
	{
		cout<<5;
		return 0;
	}
	if(check6() == 1)
	{
		cout<<6;
		return 0;
	}
	cout<<7;
	return 0;
}

请求大佬帮助,悬关,或者提一个不要太过分了的要求!

2023/7/17 15:21
加载中...