Information
- ID
- 78
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 83
- Accepted
- 31
- Uploaded By
#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;
}