题解 | #旋转矩阵#

旋转矩阵

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;
}

全部评论

相关推荐

重生2012之我是java程序员:换个稍微正式点的照片吧
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务