/*
ID:usaco_t2
LANG:C++
TASK:transform
*/
#include<stdio.h>
char a[11][11],b[11][11],fz[11][11],fz1[11][11],fz2[11][11],ff[11][11];
int n,i,j,ans=0;
void f7()
{ printf("7\n");
}
void f6()
{ for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(a[i][j]!=b[i][j]){f7();return;}
printf("6\n");
}
void f5()
{ for(i=1;i<=n;i++)
for(j=1;j<=n;j++)fz[i][j]=a[i][n-j+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
ff[j][n-i+1]=fz[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(ff[i][j]!=b[i][j])ans=1;
if(ans==0){printf("5\n");return;}ans=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)fz1[i][j]=fz[n-i+1][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)ff[i][j]=fz1[i][n-j+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(ff[i][j]!=b[i][j])ans=1;
if(ans==0){printf("5\n");return;}ans=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)fz1[j][n-i+1]=fz[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)fz2[i][j]=fz1[n-i+1][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)ff[i][j]=fz2[i][n-j+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(ff[i][j]!=b[i][j])ans=1;
if(ans==0){printf("5\n");return;}f6();
}
void f4()
{ for(i=1;i<=n;i++)
for(j=1;j<=n;j++)ff[i][j]=a[i][n-j+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(ff[i][j]!=b[i][j]){f5();return;}
printf("4\n");
}
void f3()
{ for(i=1;i<=n;i++)
for(j=1;j<=n;j++)fz[j][n-i+1]=a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)fz1[i][j]=fz[n-i+1][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)ff[i][j]=fz1[i][n-j+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(ff[i][j]!=b[i][j]){f4();return;}
printf("3\n");
}
void f2()
{ for(i=1;i<=n;i++)
for(j=1;j<=n;j++)fz[i][j]=a[n-i+1][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)ff[i][j]=fz[i][n-j+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(ff[i][j]!=b[i][j]){f3();return;}
printf("2\n");
}
void f1()
{ for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
ff[j][n-i+1]=a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(ff[i][j]!=b[i][j]){f2();return;}
printf("1\n");
}
int main()
{ int m,i,j,l,k,x,y;
freopen("transform.in","r",stdin);
freopen("transform.out","w",stdout);
scanf("%d%c",&n,&a[1][1]);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(j==n)scanf("%c%c",&a[i][j],&a[i][j+1]);else scanf("%c",&a[i][j]);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)if(j==n)scanf("%c%c",&b[i][j],&b[i][j+1]);else scanf("%c",&b[i][j]);
f1();
return 0;
}
usaco Transform
最新推荐文章于 2018-12-19 18:06:35 发布