zoukankan      html  css  js  c++  java
  • 1164.旋转矩阵

    题目描述:

    任意输入两个9阶以下矩阵,要求判断第二个是否是第一个的旋转矩阵,如果是,输出旋转角度(0、90、180、270),如果不是,输出-1。
    要求先输入矩阵阶数,然后输入两个矩阵,每行两个数之间可以用任意个空格分隔。行之间用回车分隔,两个矩阵间用任意的回车分隔。

    输入:

    输入有多组数据。
    每组数据第一行输入n(1<=n<=9),从第二行开始输入两个n阶矩阵。

    输出:

    判断第二个是否是第一个的旋转矩阵,如果是,输出旋转角度(0、90、180、270),如果不是,输出-1。
    如果旋转角度的结果有多个,则输出最小的那个。

    样例输入:

    3
    1 2 3
    4 5 6
    7 8 9
    7 4 1
    8 5 2
    9 6 3

    样例输出:

    90

    #include<iostream>
    using namespace std;
    
    int a[9][9],b[9][9];
    int rotate(int n){
        int i,j,flag1=1,flag2=1,flag3=1,flag4=1;
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                if(a[i][j]!=b[i][j]) flag1=0;
            }
        }
        if(flag1==1) return 0;
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                if(a[i][j]!=b[j][n-1-i]) flag2=0;
            }
        }
        if(flag2==1) return 90;
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                if(a[i][j]!=b[n-1-i][j]) flag3=0;
            }
        }
        if(flag3==1) return 180;
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                if(a[i][j]!=b[n-1-j][i]) flag4=0;
            }
        }
        if(flag4==1) return 270;
        else return -1;
    }
    
    
    int main(){
        int n;
        while(cin>>n){
            int i,j,m;
            for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                    cin>>a[i][j];
                }
            }
            for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                    cin>>b[i][j];
                }
            }
            m=rotate(n);
            cout<<m<<endl;
        }
        return 0;
    }
  • 相关阅读:
    windows 8 metro 开发学习资源链接
    通过实例模拟ASP.NET MVC的Model绑定机制:简单类型+复杂类型
    Session hijacking(会话劫持)
    PagedList是NuGet上提供的一个分页的类库
    joomla
    Win8风格的Web启动界面
    Dynamic
    c# 常用文檔轉換txt文件
    创建Windows服务(Windows Services)N种方式总结
    DOM世界的观察者
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9735125.html
Copyright © 2011-2022 走看看