C++#2#7过不了,求助
查看原帖
C++#2#7过不了,求助
948951
yzsy25071621楼主2023/3/2 20:51

认认真真看了题解然后自个打了出来,为什么#2#7还是过不了...希望dalao帮帮忙

#include <iostream>

using namespace std;

bool work1();
bool work2();
bool work3();
bool work4();
bool work5();
bool work6();
void work();

char a[15][15]={},b[15][15]={},c[15][15]={},d[15][15]={};
int n=0;

int main()
{
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			cin>>a[i][j];
			d[i][j]=a[i][j];
		}
	}
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			cin>>c[i][j];
		}
	}
	work();
	return 0;
}

bool work1()
{
	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 work2()
{
	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 work3()
{
	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 work4()
{
	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 work5()
{
	work4();
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			d[i][j]=a[i][j];
		}
	}
	if(work1())
	{
		return true;
	}
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			cin>>a[i][j];
			d[i][j]=a[i][j];
		}
	}
	if(work2())
	{
		return true;
	}
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			cin>>a[i][j];
			d[i][j]=a[i][j];
		}
	}
	if(work3())
	{
		return true;
	}
	return false;
}

bool work6()
{
	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 work()
{
	if(work1())
	{
		cout<<1;
		return;
	}
	if(work2())
	{
		cout<<2;
		return;
	}
	if(work3())
	{
		cout<<3;
		return;
	}
	if(work4())
	{
		cout<<4;
		return;
	}
	if(work5())
	{
		cout<<5;
		return;
	}
	if(work6())
	{
		cout<<6;
		return;
	}
	cout<<7;
	return;
}

这个应该没错吧

2023/3/2 20:51
加载中...