#include <stdio.h>
void over_90(char newa[10][10],char oria[10][10],int n){
int x=0;
for(int j=0;j<n;j++){
for(int i=0;i<n;i++){
newa[i][n-x-1]=oria[x][i];
}
x++;
}
}
void over_180(char newa[10][10],char oria[10][10],int n){
int x=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
newa[n-1-x][n-1-j]=oria[x][j];
}
x++;
}
}
void over_270(char newa[10][10],char oria[10][10],int n){
int x=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
newa[n-1-j][x]=oria[x][j];
}
x++;
}
}
void ref(char newa[10][10],char oria[10][10],int n){
int x=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
newa[x][n-1-j]=oria[x][j];
}
x++;
}
}
int eq(char a1[10][10],char a2[10][10],int n){
int cnt=0,label=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a1[i][j]==a2[i][j]) cnt++;
else label=1;
if(label) break;
}
if(label) break;
}
if(cnt==n*n) return 1;
else return 0;
}
int main(){
int n;char a1[10][10],a2[10][10];
char oria[10][10],oria2[10][10];
scanf("%d",&n);
char mid;
for(int i=0;i<n;i++){
scanf("%c",&mid);
for(int j=0;j<n;j++){
scanf("%c",&a1[i][j]);
}
}
for(int i=0;i<n;i++){
scanf("%c",&mid);
for(int j=0;j<n;j++){
scanf("%c",&a2[i][j]);
}
}
for(int k=0;k<n;k++){
for(int l=0;l<n;l++){
oria[k][l]=a1[k][l];
oria2[k][l]=a1[k][l];
}
}
int label=0,index=7;
for(int i=1;i<7;i++){
if(i==1) over_90(a1,oria,n);
else if(i==2) over_180(a1,oria,n);
else if(i==3) over_270(a1,oria,n);
else if(i==4) ref(a1,oria,n);
else if(i==5){
ref(oria2,oria,n);
for(int j=1;j<=3;j++){
if(j==1) over_90(a1,oria2,n);
else if(j==2) over_180(a1,oria2,n);
else if(j==3) over_270(a1,oria2,n);
if(eq(a1,a2,n)&&i<index){
index=i;
break;
}
}
}
else if(i==6){
for(int k=0;k<n;k++){
for(int l=0;l<n;l++){
a1[k][l]=oria[k][l];
}
}
}
if(eq(a1,a2,n)&&i<index){
index=i;
break;
}
}
printf("%d",index);
}
求大佬看一下,感觉没有任何问题,只有14分,把测试点2下载下来自测通过,提交就是不过