2 solutions
-
0
#include <bits/stdc++.h> using namespace std; int N[22][22]; //右下左上 int dx[] = {0,1,0,-1}; int dy[] = {1,0,-1,0}; int main(){ int n; cin >> n; int x = 1; int y = 1; int d = 0; for(int i = 1;i<=n*n;i++){ N[x][y] = i; x = x + dx[d]; y = y + dy[d]; //如果越界 if(x < 1 || x > n ||y <1||y>n || N[x][y] != 0){ x =x - dx[d]; y =y - dy[d]; d++; if(d == 4)d=0; x =x + dx[d]; y =y + dy[d]; } } for(int i = 1;i<=n;i++){ for(int j = 1;j<=n;j++){ cout<<setw(3)<< N[x][y]<< " "; } cout << endl; } return 0; }
Information
- ID
- 78
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 83
- Accepted
- 31
- Uploaded By