1 条题解
-
1
旋转
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; int n; char a[11][11],u[11][11],ans[11][11]; bool check() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]!=ans[i][j]) return 0; return 1; } void turn() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) u[i][j]=a[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) a[j][n-i+1]=u[i][j]; } void change() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) u[i][j]=a[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) a[i][n-j+1]=u[i][j]; } int main() { scanf("%d",&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>>ans[i][j]; for(int i=1;i<=3;i++) { turn(); if(check()){printf("%d",i);return 0;} } turn(); change(); if(check()){cout<<4;return 0;} for(int i=1;i<=3;i++) { turn(); if(check()){cout<<5;return 0;} } if(check()){cout<<6;return 0;} cout<<7<<endl; return 0; }
- 1
信息
- ID
- 206
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 7
- 已通过
- 5
- 上传者