7 条题解
-
0
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define endl '\n'
int main() { int m,n; scanf("%d %d",&m,&n); int dir=1; vector<vector<int>> arr(m,vector<int>(n)); // int arr[100][100]; int x,y,bound_x,bound_y; bound_x=m; bound_y=n; x = 0; y = n-1; int cir = 0; for(int cnt=1;cnt<=m*n;cnt++) {
if(dir==1) { arr[x][y] = cnt; x++; if(x == (bound_x-cir)) { dir = 2; x--; y--; } } else if(dir==2) { arr[x][y] = cnt; y--; if(y == (cir-1)) { dir = 3; y++; x--; } } else if(dir==3) { arr[x][y] = cnt; x--; if(x == (cir -1)) { dir =4; x++; y++; } } else if(dir ==4 ) { arr[x][y] = cnt; y++; if(y == (n-cir-1)) { dir = 1; y--;x++; cir++; } } } for(int i = 0; i < m;i++) { for(int j = 0;j < n;j++) { printf("%5d",arr[i][j]); } cout<<endl; } return 0;
}
信息
- ID
- 78
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 682
- 已通过
- 175
- 上传者