1 条题解

  • 1
    @ 2024-1-10 5:48:18
    #include<bits/stdc++.h>
    #include <system_error>
    using namespace std;
    int n;
    char S[25][25],S1[25][25],A[25][25],B[25][25];//A为原图,B为目标图,S为翻转后的图
    void Re(){//重置S图为原图A
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)S[i][j]=A[i][j];
    }
    bool check(){//判断S图和B图是否相等
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)if(S[i][j]!=B[i][j])return 0;
        return 1;
    } 
    void C_1(){//顺时针旋转90°
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)S1[j][n-i-1]=S[i][j];
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)S[i][j]=S1[i][j];
    }
    void C_2(){//水平翻转
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)S1[i][n-j-1]=S[i][j];
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)S[i][j]=S1[i][j];
    }
    int main(){
        cin>>n;
        for(int i=0;i<n;i++)cin>>A[i];
        for(int i=0;i<n;i++)cin>>B[i];
        Re();
        C_1();//重置后进行1操作
        if(check()){
            cout<<1;
            return 0;
        }
        Re();
        C_1();
        C_1();//重置后进行2操作
        if(check()){
            cout<<2;
            return 0;
        }
        Re();
        C_1();
        C_1();
        C_1();//重置后进行3操作
        if(check()){
            cout<<3;
            return 0;
        }
        Re();
        C_2();//重置后进行4操作
        if(check()){
            cout<<4;
            return 0;
        }
        Re();
        C_2();
        C_1();//重置后进行4+1操作
        if(check()){
            cout<<5;
            return 0;
        }
        Re();
        C_2();
        C_1();
        C_1();//重置后进行4+2操作
        if(check()){
            cout<<5;
            return 0;
        }
        Re();
        C_2();
        C_1();
        C_1();
        C_1();//重置后进行4+3操作
        if(check()){
            cout<<5;
            return 0;
        }
        Re();//重置后不进行操作
        if(check()){
            cout<<6;
        }
        cout<<7;
        return 0;
    }
    
    • 1

    信息

    ID
    686
    时间
    1000ms
    内存
    125MiB
    难度
    9
    标签
    递交数
    38
    已通过
    2
    上传者