救救孩子吧
查看原帖
救救孩子吧
131573
Creat_Hee楼主2020/12/26 21:06
#include<bits/stdc++.h>
using namespace std;
int main() {
	int n,a[55][55],cnt = 1;
	cin >> n;
	for(int i = 0; i < n; i++) {
		for(int j = 0; j < n; j++) {
			a[i][j] = 0;
		}
	}
	a[0][n/2] = cnt;
	int i = 0,j = n/2;
	for(int p = 1; p <= n*n; p++) {
		if(j+1 == n+1) j = 2;
		if(i-1 == 0) i = n-1;
		if(a[i-1][j+1] == 0) {
			i++;
			j++;
		}
		if(a[i-1][j+1] > 1) {
			for(int ii = i++; ii < n ; ii++) {
				if(a[ii][j] == 0) {
					i = ii;
					break;
				}
			}
		}
    a[i][j] == ++cnt;
	}
	int temp = 0;
	for(int i = 0; i < n; i++) {
		for(int j = 0; j < n; j++) {
			cout << a[i][j] << " ";
			temp++;
			if(temp == n){
				cout << endl;
				temp = 0;
			} 
		}
	}
	return 0;
}

2020/12/26 21:06
加载中...