#include<bits/stdc++.h>
using namespace std;
char a[12][12],b[12][12];
int n,flag[11];
int main()
{
scanf("%d",&n);
char ch=getchar();
for(int i=1;i<=n;i++)
{
int now=1;
ch=getchar();
while(ch=='@'||ch=='-')
{
a[i][now]=ch;
ch=getchar();
now++;
}
now=1;
}
for(int i=1;i<=n;i++)
{
int now=1;
ch=getchar();
while(ch=='@'||ch=='-')
{
b[i][now]=ch;
ch=getchar();
now++;
}
now=1;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]!=b[j][n-i+1]) flag[1]=1;
if(a[i][j]!=b[n-i+1][n-j+1]) flag[2]=1;
if(a[i][j]!=b[n-j+1][i]) flag[3]=1;
if(a[i][j]!=b[i][n-j+1]) flag[4]=1;
if(a[i][j]!=b[i][j]) flag[6]=1;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n/2;j++)
{
char t=a[i][j];
a[i][j]=a[i][n-j+1];
a[i][n-j+1]=t;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]!=b[j][n-i+1]) flag[8]=1;
if(a[i][j]!=b[n-i+1][n-j+1]) flag[9]=1;
if(a[i][j]!=b[n-j+1][i]) flag[10]=1;
}
}
if(flag[8]==1&&flag[9]==1&&flag[10]==1) flag[5]=1;
for(int i=1;i<=7;i++)
{
if(flag[i]==0)
{
printf("%d",i);
return 0;
}
}
return 0;
}
第二个数据点,我自己的编译器输出了正确答案‘5’,但是洛谷硬是说我输出了‘7’。为什么啊?