9 条题解
- 
  -3
#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; } 
信息
- ID
 - 1043
 - 时间
 - 1000ms
 - 内存
 - 32MiB
 - 难度
 - 6
 - 标签
 - 递交数
 - 926
 - 已通过
 - 296
 - 上传者