2 条题解

  • 1
    #include<bits/stdc++.h> 
    using namespace std;
        int a[30][30],n;
        int main(){
        cin>>n;
        int i,j,tot;
        i=1,j=n;a[i][j]=tot=1;
        while(tot<n*n)
        {
            while(i+1<=n&&!a[i+1][j])a[++i][j]=++tot;
            while(j-1>=1&&!a[i][j-1])a[i][--j]=++tot;
            
            while(i-1>=1&&!a[i-1][j])a[--i][j]=++tot;
            while(j+1<=n&&!a[i][j+1])a[i][++j]=++tot;
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            cout<<setw(4)<<a[i][j];
            cout<<"\n";
        }
        return 0;
    }
    
  • -2

    #include<bits/stdc++.h>
    using namespace std;
    int a[30][30],n;
    int main(){
    cin>>n;
    int i,j,tot;
    i=1,j=n;a[i][j]=tot=1;
    while(tot<n*n)
    {
    while(i+1<=n&&!a[i+1][j])a[++i][j]=++tot;
    while(j-1>=1&&!a[i][j-1])a[i][--j]=++tot;

    while(i-1>=1&&!a[i-1][j])a[--i][j]=++tot;
    while(j+1<=n&&!a[i][j+1])a[i][++j]=++tot;
    }
    for(int i=1;i<=n;i++)
    {
    for(int j=1;j<=n;j++)
    cout<<setw(4)<<a[i][j];
    cout<<"\n";
    }
    return 0;
    }

  • 1

信息

ID
1927
难度
4
分类
(无)
标签
递交数
57
已通过
24
通过率
42%
被复制
4
上传者