2 solutions

  • 4
    @ 2024-7-23 16:09:53
    #include<bits/stdc++.h>
    using namespace std;
    int dx[]={0,1,0,-1};
    int dy[]={1,0,-1,0};
    int g[100][100];
    int main()
    {
        int n;
        cin>>n;
        int x=1,y=1,d=0;
        for(int i=1;i<=n*n;i++)
        {
            g[x][y]=i;
            int a=x+dx[d],b=y+dy[d];
            if(a<1 || a>n || b<1 || b>n || g[a][b]!=0)
            {
                d++;
                if(d==4) d=0;
                a=x+dx[d],b=y+dy[d];
            }
            x=a,y=b;
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cout<<setw(3)<<g[i][j]<<" ";
            }
            cout<<endl;
        }
    }
    

    Information

    ID
    78
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    3
    Tags
    (None)
    # Submissions
    83
    Accepted
    31
    Uploaded By