Problem Description
X终于开始玩一些比较高大上的东西了,比如矩阵。给出两个N*N的矩阵A,B。他想知道矩阵A在顺时针旋转一定角度后是否会和矩阵B完全一样。
input
有多组输入。
每组输入先输入一个整数N(N <= 50),代表矩阵的大小。
接下来的N行,每行有N个整数。代表矩阵A。
再接下来的N行N个整数代表矩阵B。
output
如果矩阵A在旋转一定角度后能和矩阵B完全一样则输出YES,否则输出NO。
Sample Input
2
1 2
3 4
3 1
4 2
2
1 2
3 4
4 2
3 1
Sample Output
YES
NO
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int a[n][n],b[n][n];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
scanf("%d",&b[i][j]);
int c[n][n],k=0,g=0;
while(k<4){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
c[i][j]=a[n-j-1][i];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
a[i][j]=c[i][j];
}
}
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(a[i][j]==b[i][j])
g++;
}
if(g==n*n){
printf("YES\n");
break;
}
g=0;
k++;
if(k==4)printf("NO\n");
}}
return 0;
}