自己的usaco代码---PROB Transformations

来源:互联网 发布:淘宝一件代发怎么改价 编辑:程序博客网 时间:2024/05/07 16:09

原创代码

仅供参考

欢迎评论O(∩_∩)O~

/*1:顺时针902:顺时针1803:顺时针2704:镜面5:镜面后1-36:完全一样7:没办法*//*ID: 输你自己的PROG: transformLANG: C++*/#include <iostream>#include <cstring>#include <string>#include <cstdio> #include <algorithm>#include <cmath>using namespace std;char a[12][12];char b[12][12];char c[12][12];char d[12][12];int n;void h1(){for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)     c[j][n-i+1]=a[i][j];}void h2(){for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    c[n-i+1][n-j+1]=a[i][j];}void h3(){h2();    for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)     d[j][n-i+1]=c[i][j];}void h4(){for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    c[i][n-j+1]=a[i][j];}void h51(){h4();for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)     d[j][n-i+1]=c[i][j];}void h52(){h4();for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    d[n-i+1][n-j+1]=c[i][j];}void h53(){for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    c[n-j+1][i]=a[i][j];}int main(){freopen("transform.in","r",stdin);freopen("transform.out","w",stdout);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];int t;h1();t=0;for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    if(c[i][j]==b[i][j]) t++;if(t==n*n) {printf("1\n"); exit(0);}t=0;h2();for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    if(c[i][j]==b[i][j]) t++;if(t==n*n) {printf("2\n"); exit(0);}t=0;h3();for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    if(d[i][j]==b[i][j]) t++;if(t==n*n) {printf("3\n"); exit(0);}h4();t=0;for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    if(c[i][j]==b[i][j]) t++;if(t==n*n) {printf("4\n"); exit(0);}h51();t=0;for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    if(d[i][j]==b[i][j]) t++;if(t==n*n) {printf("5\n"); exit(0);}h52();t=0;for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    if(d[i][j]==b[i][j]) t++;if(t==n*n) {printf("5\n"); exit(0);}h53();t=0;for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    if(c[i][j]==b[i][j]) t++;if(t==n*n) {printf("5\n"); exit(0);}t=0;for(int i=1;i<=n;i++)  for(int j=1;j<=n;j++)    if(a[i][j]==b[i][j]) t++;if(t==n*n) {printf("6\n"); exit(0);}    printf("7\n");return 0;}


 

原创粉丝点击