问题标题: 酷町堂:3995

0
0
已解决
汪艾辰
汪艾辰
资深光能
资深光能

3995

#include<iostream>

using namespace std;

int m,n,a[2000][2000],t;

int main(){

    cin>>m>>n;

    for(int i=1;i<=m;i++){

        for(int j=1;j<=n;j++){

            cin>>a[i][j];

        }

    }

    for(int i=1;i<=m;i++){

        t=a[i][1];

        a[i][1]=a[i][m];

        a[i][m]=t;

    }

    for(int i=1;i<=n;i++){

        t=a[1][i];

        a[1][i]=a[m][i];

        a[m][i]=t;

    }

    for(int i=1;i<=m;i++){

        for(int j=1;j<=n;j++){

            cout<<a[i][j]<<" ";

        }

        cout<<"\n";

    }
    return 0;
}

样例都过了


0
已采纳
王文博
王文博
缔造者之神
缔造者之神

核心:

for(int i=1;i<=m;i++)
    {
        swap(a[i][1],a[i][n]);
    }
    for(int i=1;i<=n;i++)
    {
        swap(a[1][i],a[m][i]);
    }

望采纳!

0
甄子烨
甄子烨
高级光能
高级光能

我的代码才叫流批!

核心:(其实就是互换位置)

先把a[i][j]给b[i][j]

for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            b[i][j]=a[i][j];
        }
    }

再判断一下:

for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ if(i==1) b[i][j]=a[m][j]; if(i==m) b[i][j]=a[1][j]; } }

在重复一下:

for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ if(j==1) c[i][j]=b[i][n]; if(j==n) c[i][j]=b[i][1]; } } for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cout<<c[i][j]<<" "; } cout<<endl; }

我要回答