求助,应该是else那里有问题

P2615 [NOIP2015 提高组] 神奇的幻方

@[yiyezhiqiu1011](/user/1043489) 你x的赋值不能在输入 $n$ 前啊
by Tjaweiof @ 2023-10-20 13:28:37


@[yiyezhiqiu1011](/user/1043489) 前面几行应该是 ```cpp #include<bits/stdc++.h> using namespace std; int main() { int n,a[22][22]={},cnt = 1,y=1,x; cin >> n; a[1][n/2+1] = cnt++; x=n/2+1; ```
by Tjaweiof @ 2023-10-20 13:30:10


@[yiyezhiqiu1011](/user/1043489) 还有一些问题,我再看看
by Tjaweiof @ 2023-10-20 13:30:48


@[yiyezhiqiu1011](/user/1043489) else内,`a[y][x] == cnt++`改成`a[y][x] = cnt++`,前面再加一个 ```cpp y+=2; if (y > n) y -= n; ```
by Tjaweiof @ 2023-10-20 13:40:09


改好的代码: ```cpp #include<bits/stdc++.h> using namespace std; int main() { int n,a[22][22]={},cnt = 1,y=1,x; cin >> n; a[1][n/2+1] = cnt++; x=n/2+1; while (cnt <= n * n) { if (--y == 0) y = n; if (++x > n) x = 1; if (a[y][x] == 0)a[y][x] = cnt++; else { y+=2; if (y > n) y -= n; if (--x == 0){ x = n; } a[y][x] = cnt++; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) cout << a[i][j] << " "; cout << endl; } return 0; } ```
by Tjaweiof @ 2023-10-20 13:40:46


@[yiyezhiqiu1011](/user/1043489) 关注 [Tjaweiof](https://www.luogu.com.cn/user/550933) 谢谢!
by Tjaweiof @ 2023-10-20 13:41:59


@[Tjaweiof](/user/550933) 大佬,还有两个re和一个wa,该怎么办啊
by yiyezhiqiu1011 @ 2023-10-21 10:09:40


|