认认真真看了题解然后自个打了出来,为什么#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;
}
这个应该没错吧