#include <bits/stdc++.h>
using namespace std;
int n;
char s1[100][100],s2[100][100],s3[100][100];
void _1(){
int x = 0,y = n - 1;
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
s3[x][y] = s1[i][j];
x++;
}
y--;
x = 0;
}
}
void _2(){
int x = n - 1,y = n - 1;
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
s3[x][y] = s1[i][j];
y--;
}
x--;
y = n - 1;
}
}
void _3(){
int x = n - 1,y = 0;
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
s3[x][y] = s1[i][j];
x--;
}
y++;
x = n - 1;
}
}
void _4(){
for(int i = 0;i < n;i++)
for(int j = 0;j < n;j++)
s3[i][n-j-1] = s1[i][j];
}
void _6(){
for(int i = 0;i < n;i++)
for(int j = 0;j < n;j++)
s3[i][j] = s1[i][j];
}
bool check(){
for(int i = 0;i < n;i++)
for(int j = 0;j < n;j++)
if(s3[i][j] != s2[i][j])
return 0;
return 1;
}
int main(){
cin >> n;
for(int i = 0;i < n;i++)
for(int j = 0;j < n;j++)
cin >> s1[i][j];
for(int i = 0;i < n;i++)
for(int j = 0;j < n;j++)
cin >> s2[i][j];
for(int i = 1;i <= 6;i++){
memset(s3,'?',sizeof(s3));
switch(i){
case 1:
_1();
if(check()){
cout << i;
return 0;
}
break;
case 2:
_2();
if(check()){
cout << i;
return 0;
}
break;
case 3:
_3();
if(check()){
cout << i;
return 0;
}
break;
case 4:
_4();
if(check()){
cout << i;
return 0;
}
break;
case 5:
_4();
for(int j = 1;j <= 3;j++){
switch(j){
case 1:
_1();
if(check()){
cout << j;
return 0;
}
break;
case 2:
_2();
if(check()){
cout << j;
return 0;
}
break;
case 3:
_3();
if(check()){
cout << j;
return 0;
}
break;
}
}
break;
case 6:
_6();
if(check()){
cout << i;
return 0;
}
break;
}
}
cout << 7;
return 0;
}
各位大佬帮帮忙找问题~