10分,9RE,找不到自己的问题,求调
查看原帖
10分,9RE,找不到自己的问题,求调
1327341
yc6317楼主2024/9/28 21:09
#include<bits/stdc++.h>
using namespace std;
int main() {
	int n, j, k;
	cin >> n;
	vector< vector<int> > a(n+2, vector<int>(n+2, 0));
	n *= n;
	a[1][n/2+1] = 1;
	j = 1, k = n/2+1;
	for(int i = 2;i <= n*n;i++) {
		if(j == 1 && k != n) {
			k = j+1, j = n;
			a[j][k] = i;
		}else if(j != 1 && k == n) {
			k = 1, j--;
			a[j][k] = i;
		}else if(j == 1 && k == n) {
			a[++j][k] = i;
		}else {
			if(a[j+1][k+1] == 0) a[++j][++k] = i;
			else a[j][--k] = i;
		}
	}
	for(int i = 1;i <= n;i++) {
		for(int j = 1;j <= n;j++) {
			cout << a[i][j] << ' ';
		}
		printf("\n");
	}
	return 0;
}
2024/9/28 21:09
加载中...