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;
    

    }

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

      #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;
      

      }

      • 1

      信息

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