社区讨论

求助!!!

B3940[GESP样题 四级] 填幻方参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@m03fy8ta
此快照首次捕获于
2024/08/21 13:56
2 年前
此快照最后确认于
2025/11/04 22:52
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;

int n;
int ii, jj;
int a[25][25];
int main(){
	cin >> n;
	ii = 1, jj = (n+1)/2;
	a[ii][jj] = 1;
	for (int i = 2; i <= n*n; i++){
		int x = ii+1, y = jj;
		if (ii == 1){
			x = n;
		}
		if (jj == n){
			y = 1;
		}
		if (a[x][y] != 0){
			a[x][y] = i;
			ii = x, jj = y;
		}else{
			if (ii == n){
				x = 1;
			}else{
				x--;
			}
			a[x][y] = i;
			ii = x, jj = y;
		}
	}
	for (int i = 1; i <= n; i++){
		for (int j = 1; j <= n; j++){
			cout << a[i][j] << " ";
		}
		cout << endl;
	}
}

回复

6 条回复,欢迎继续交流。

正在加载回复...