AcWing 3527. 旋转矩阵
原题链接
简单
作者:
ober02
,
2024-03-27 10:20:27
,
所有人可见
,
阅读 3
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 10;
int a[N][N], b[N][N];
int n;
void spin(){ // a 旋转90度
int c[N][N];
for(int i =1; i <= n; i++){
for(int j = 1; j <= n; j++){
c[i][j] = a[n-j+1][i];
}
}
for(int i =1; i <= n; i++){
for(int j = 1; j <= n; j++){
a[i][j] = c[i][j];
}
}
}
bool equal(int a[N][N], int b[N][N])
{
for(int i = 1; i <= n ; i++){
for(int j = 1; j <= n ; j++) if(a[i][j] != b[i][j]) return false;
}
return true;
}
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 >> b[i][j];
}
int res = 0;
while( !equal(a, b) && res <= 270 ){
res+=90;
spin();
}
if(res <= 270) cout <<res << endl;
else cout<< -1 << endl;
return 0;
}