题解 | #旋转矩阵#

旋转矩阵

https://www.nowcoder.com/practice/bd62095a03a545729cdbfc506e0da952

#include <iostream>
using namespace std;
const int N = 10;
int g[N][N], t[N][N], tmp[N][N];
int n;
bool flag = false;

void turn(){
    for(int i = 0; i < n; i ++)
        for(int j = 0, k = n - 1; j < n; j ++, k --)
            tmp[i][j] = g[k][i];
    for(int i = 0; i < n; i ++)
        for(int j = 0; j < n; j ++)
            g[i][j] = tmp[i][j];
}
bool issame(){
    for(int i = 0; i < n; i ++) 
        for(int j = 0; j < n; j ++)
            if(g[i][j] != t[i][j]) return false;
    return true;
}

int main(){
    cin>>n;
    for(int i = 0; i < n; i ++)
        for(int j = 0; j < n; j ++)
            cin>>g[i][j];
    for(int i = 0; i < n; i ++)
        for(int j = 0; j < n; j ++)
            cin>>t[i][j];

    for(int i = 0; i < 4; i ++){
        if(issame()){
            flag = true;
            cout<<i * 90<<endl;
            break;
        } 
        turn();
    }
    if(!flag) cout<<-1<<endl;

    return 0;
}

全部评论

相关推荐

新记话事人:你就和她说去抖音了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务