2 条题解

  • 0
    @ 2025-4-19 15:31:54

    #include<bits/stdc++.h> using namespace std; int an[20][20]; int main(){ int n; cin>>n; int flag=1; int x,y; x=y=1; int a,b,c,d; a=d=1; b=c=n; for(int i=1;i<=n*n;i++){ an[x][y]=i;

    	if(flag==1) y++;
    	if(flag==2) x++;
    	if(flag==3) y--;
    	if(flag==4) x--;
    	
    	if(flag==1&&y==b) flag=2,a++;
    	if(flag==2&&x==c) flag=3,b--;
    	if(flag==3&&y==d) flag=4,c--;
    	if(flag==4&&x==a) flag=1,d++;
    } 
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
    		printf("%3d",an[i][j]);
    	}
    	cout<<endl;
    }
    return 0;
    

    }

    信息

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