21 条题解
-
-2
#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
- 标签
- 递交数
- 781
- 已通过
- 254
- 上传者