21 条题解

  • -2
    @ 2024-11-1 18:15:19
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    int dx[]={0,1,0,-1};
    int dy[]={1,0,-1,0};
    int a[100][100];
    int main(){
    	
    	int n;
    	cin>>n;
    	int num=1;
    	int x,y;
    	int f=0;
    	x=y=1;
    	while(num<=n*n){
    		a[x][y]=num++;
    		x+=dx[f];
    		y+=dy[f];
    		if(x>n||y>n||x<1||y<1||a[x][y]!=0){
    			if(f==0) x++,y--;
    			else if(f==1) x--,y--;
    			else if(f==2) x--,y++;
    			else x++,y++;
    			f++;
    			f%=4;
    		}
    	}
    	for(int i=1;i<=n;i++){
    		 for(int j = 1 ; j <= n ; j++)
                cout << a[i][j] << " ";
            cout << endl;
    	}
    	return 0;
    }
    
    • @ 2024-11-1 18:22:03

      我的密码是290170117你信吗

信息

ID
1043
时间
1000ms
内存
32MiB
难度
6
标签
递交数
781
已通过
254
上传者