2 条题解

  • 0
    @ 2023-12-23 8:48:12
    #include<bits/stdc++.h>
    using namespace std;
    int m,q=1,a[15][15];
    void d(int n,int w){
    if(w>=(m+1)/2) return ;
    for(int i=1+w;i<=n;i++){
    a[i][n]=q;
    q++;
    }
    for(int i=n-1;i>=1+w;i--){
    a[n][i]=q;
    q++;
    }
    for(int i=n-1;i>=1+w;i--){
    a[i][1+w]=q;
    q++;
    }
    for(int i=2+w;i<n;i++){
    a[1+w][i]=q;
    q++;
    }
    d(n-1,w+1);
    }
    int main(){
    cin>>m;
    d(m,0);
    for(int i=1;i<=m;i++){
    for(int j=1;j<=m;j++){
    cout<<setw(4)<<a[i][j];
    }
    cout<<endl;
    }
    return 0;
    }
    

    信息

    ID
    30
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    266
    已通过
    70
    上传者