第二个和第七个测试点RE,其他AC 代码如下
#include<bits/stdc++.h>
using namespace std;
int n;
char a[24][24],b[24][24];
int pd(char x[][24],char y[][24]){
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(x[i][j]!=y[i][j])
return 0;
return 1;
}
int zhuan90(){
char c1[24][24];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
c1[i][j]=a[n-j+1][i];
if(pd(b,c1)==1) return 1;
return 0;
}
int zhuan180(){
char c2[24][24];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
c2[i][j]=a[n-i+1][n-j+1];
if(pd(b,c2)==1) return 1;
return 0;
}
int zhuan270(){
char c3[24][24];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
c3[i][j]=a[j][n-i+1];
if(pd(b,c3)==1) return 1;
return 0;
}
int fanzhuan(){
char c4[24][24];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
c4[i][j]=a[i][n-j+1];
if(pd(b,c4)==1) return 1;
return 0;
}
int fan_zhuan(){
char c5[24][24],c_90[24][24],c_180[24][24],c_270[24][24];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
c5[i][j]=a[i][n-j+1];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;i++)
c_90[i][j]=c5[n-j+1][i];
if(pd(b,c_90)==1) return 1;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
c_180[i][j]=c5[n-i+1][n-j+1];
if(pd(b,c_180)==1) return 1;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
c_270[i][j]=c5[j][n-i+1];
if(pd(b,c_270)==1) return 1;
return 0;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>b[i][j];
if(zhuan90()==1){
cout<<1;
return 0;
}
if(zhuan180()==1){
cout<<2;
return 0;
}
if(zhuan270()==1){
cout<<3;
return 0;
}
if(fanzhuan()==1){
cout<<4;
return 0;
}
if(fan_zhuan()==1){
cout<<5;
return 0;
}
if(pd(a,b)==1){
cout<<6;
return 0;
}
cout<<7;
return 0;
}