10 条题解

  • 0
    @ 2023-11-13 20:34:59
    #include<bits/stdc++.h>
    using namespace std;
    int n;
    int a[105][105];
    void op1()
    {
        int b[105];
        for(int i=1;i<=n;i++)
        {
            b[i]=a[1][i];
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                a[i-1][j]=a[i][j];
            }
        }
        for(int i=1;i<=n;i++)
        {
            a[n][i]=b[i];
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
    }
    void op2()
    {
        int b[105];
        for(int i=1;i<=n;i++)
        {
            b[i]=a[n][i];
        }
        for(int i=n;i>=1;i--)
        {
            for(int j=1;j<=n;j++)
            {
                a[i+1][j]=a[i][j];
            }
        }
        for(int i=1;i<=n;i++)
        {
            a[1][i]=b[i];
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
    }
    void op3()
    {
        int b[105];
        for(int i=1;i<=n;i++)
        {
            b[i]=a[i][1];
        }
        // for(int i=1;i<=n;i++){
        //     cout<<b[i]<<" ";
        // }
        // cout<<endl;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                a[j][i-1]=a[j][i];
            }
            // for(int i=1;i<=n;i++)
            // {
            //     for(int j=1;j<=n;j++)
            //     {
            //         cout<<a[i][j]<<" ";
            //     }
            //     cout<<endl;
            // }
            // cout<<endl;
        }
        for(int i=1;i<=n;i++)
        {
            a[i][n]=b[i];
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
    }
    void op4()
    {
        int b[105];
        for(int i=1;i<=n;i++)
        {
            b[i]=a[i][n];
        }
        // for(int i=1;i<=n;i++){
        //     cout<<b[i]<<" ";
        // }
        // cout<<endl;
        for(int i=n;i>=1;i--)
        {
            for(int j=1;j<=n;j++)
            {
                a[j][i+1]=a[j][i];
            }
            // for(int i=1;i<=n;i++)
            // {
            //     for(int j=1;j<=n;j++)
            //     {
            //         cout<<a[i][j]<<" ";
            //     }
            //     cout<<endl;
            // }
            // cout<<endl;
        }
        for(int i=1;i<=n;i++)
        {
            a[i][1]=b[i];
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
    }
    void op5()
    {
        int b[105][105];
        memset(b,0,sizeof(b));
        for(int i=1;i<=n;i++)
        {
            int t[105];
            for(int j=1;j<=n;j++)
            {
                b[i][j]=a[j][i];
            }
            for(int j=1;j<=n;j++)
            {
                t[n-j+1]=b[i][j];
            }
            for(int j=1;j<=n;j++)
            {
                b[i][j]=t[j];
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                a[i][j]=b[i][j];
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
        cout<<endl;
    }
    void op6()
    {
        int b[105][105];
        memset(b,0,sizeof(b));
        for(int i=1;i<=n;i++)
        {
            int t[105];
            for(int j=1;j<=n;j++)
            {
                t[n-j+1]=a[i][j];
            }
            for(int j=1;j<=n;j++)
                b[n-i+1][j]=t[j];
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                a[i][j]=b[i][j];
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
        cout<<endl;
    }
    void op7()
    {
        int b[105][105];
        memset(b,0,sizeof(b));
        for(int i=1;i<=n;i++)
        {
            int t[105];
            for(int j=1;j<=n;j++)
            {
                t[n-j+1]=a[i][j];
            }
            for(int j=1;j<=n;j++)
            {
                b[j][i]=t[j];
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                a[i][j]=b[i][j];
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
        cout<<endl;
    }
    int main()
    {
        int q;
        cin>>n>>q;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cin>>a[i][j];
            }
        }
        while(q--)
        {
            int op;
            cin>>op;
            if(op==1)
            {
                op1();
            }else if(op==2)
            {
                op2();
            }else if(op==3)
            {
                op3();
            }else if(op==4)
            {
                op4();
            }else if(op==5)
            {
                op5();
            }else if(op==6)
            {
                op6();
            }else if(op==7)
            {
                op7();
            }
        }
        return 0;
    }
    

    279行```

    信息

    ID
    2956
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    649
    已通过
    166
    上传者