1 条题解
-
0
C :
#include<stdio.h> int t,n,a[11][11],b[11][11],c[11][11],i,j,d[11][11]; void a1() { int k,l; for(k=0,i=0;k<n;k++,i++) for(l=n-1,j=0;l>=0;l--,j++) c[i][j]=d[l][k]; } void a2() { int k,l; for(k=n-1,i=0;k>=0;k--,i++) for(l=n-1,j=0;l>=0;l--,j++) c[i][j]=d[k][l]; } void a3() { int k,l; for(k=n-1,i=0;k>=0;k--,i++) for(l=0,j=0;l<n;l++,j++) c[i][j]=d[l][k]; } void a4() { int k,l; for(k=0,i=0;k<n;k++,i++) for(l=n-1,j=0;l>=0;l--,j++) d[i][j]=a[k][l]; } void a5() { for(i=0;i<n;i++) for(j=0;j<n;j++) d[i][j]=a[i][j]; } void a6() { for(i=0;i<n;i++) for(j=0;j<n;j++) c[i][j]=d[i][j]; } int bj() { for(i=0;i<n;i++) for(j=0;j<n;j++) if(b[i][j]!=c[i][j])return(0); return(1); } void main() { char ch; while(scanf("%d\t",&n)!=EOF){ for(i=0;i<n;i++) { for(j=0;j<n;j++) { ch=getchar(); if(ch=='@')a[i][j]=2;else a[i][j]=1; } getchar(); } for(i=0;i<n;i++) { for(j=0;j<n;j++) { ch=getchar(); if(ch=='@')b[i][j]=2;else b[i][j]=1; } getchar(); } a5();a1(); if(bj())printf("1\n"); else {a2();if(bj())printf("2\n"); else {a3();if(bj())printf("3\n"); else {a4();a6();if(bj())printf("4\n"); else {a4();a1();if(bj())printf("5\n"); else {a4();a2();if(bj())printf("5\n"); else {a4();a3();if(bj())printf("5\n"); else {a5();a6();if(bj())printf("6\n"); else printf("7\n");}}}}}}}} }
C++ :
#include <bits/stdc++.h> using namespace std; #define maxn 12 int n; char aas[4][maxn][maxn]; int check(int from,int to) { for (int i=0;i<n;i++){ for (int s=0;s<n;s++){ if (aas[to][i][s]!=aas[from][i][s]) return 0; } } return 1; } void xuan(int from,int to) { for (int i=0;i<n;i++){ for (int s=0;s<n;s++){ aas[to][s][n-1-i] =aas[from][i][s]; } } } void yidong(int from,int to) { for (int i=0;i<n;i++){ for (int s=0;s<n;s++){ aas[to][i][s] = aas[from][i][n-1-s]; } } } int f(int ans) { if (ans==1){ xuan(0,2); if (check(1,2)) return 1; } if (ans==2){ xuan(0,2); xuan(2,3); if (check(1,3)) return 1; } if (ans==3){ xuan(0,2); xuan(2,3); xuan(3,2); if (check(1,2)) return 1; } if (ans==4){ yidong(0,2); if (check(2,1)) return 1; } if (ans==5){ yidong(0,2); { xuan(2,3); if (check(1,3)) return 1; xuan(3,2); if (check(1,2)) return 1; xuan(2,3); if (check(1,3)) return 1; } } if (ans==6){ if (check(0,1)) return 1; } if (ans==7){ return 1; } } int main() { while(scanf("%d",&n)!=EOF){ for (int i=0;i<n;i++){ scanf("%s",aas[0][i]); } for (int i=0;i<n;i++){ scanf("%s",aas[1][i]); } for (int i=1;i<=7;i++){ if (f(i)) { printf("%d\n",i); break; } } } return 0; }
- 1
信息
- ID
- 1216
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者