5 solutions

  • -3
    @ 2024-7-19 14:08:58
    #include <bits/stdc++.h>
    using namespace std;
    const int N=25;
    int a[N][N];
    int dy[]={1,0,-1,0};
    int dx[]={0,-1,0,1};
    int main()
    {
    	int n,d,x,y;
    	cin>>n;
    	x=n;
    	y=1;
    	d=0;
    	for(int i=1;i<=n*n;i++)
    	{
    		a[y][x]=i;
    		x=x+dx[d];
    		y=y+dy[d];
    		
    		if(x>n || x<1 || y>n ||y<1 || a[y][x]!=0 && i!=n*n)
    		{
    			x=x-dx[d];
    			y=y-dy[d];
    			d++;
    			if(d==4)d=0;
    			x=x+dx[d];
    			y=y+dy[d];
    		}
    	}
    
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			cout<<a[i][j]<<" "; 
    		}
    		cout<<endl; 
    	}
    	return 0;
     }
    

    Information

    ID
    77
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    (None)
    # Submissions
    148
    Accepted
    46
    Uploaded By