4,6,7过不了

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

@[maxiaohang0113](/user/1170855) 把数组清零就过了,挺玄学的,我也不知道为什么。
by __yun__ @ 2024-02-15 17:41:48


建议将数组开在主函数外部
by __yun__ @ 2024-02-15 17:42:15


像这样 ```cpp #include <bits/stdc++.h> int n,i,j; long long a[45][45];//数组大小依据数据范围 int main() { scanf("%d",&n); j = n/2; a[i][j] = 1; for(int k = 2;k <= n*n;k++) { if(i == 0 && j != n-1) i = n-1,j++; else if(j == n-1 && i != 0) j = 0,i--; else if(i == 0 && j == n-1) i++; else if(i != 0 && j != n-1) { if(a[i-1][j+1] == 0) i--,j++; else i++; } a[i][j] = k; } for(i = 0;i < n;i++) { for(j = 0;j < n;j++) printf("%d ",a[i][j]); printf("\n"); } return 0; } ```
by __yun__ @ 2024-02-15 17:43:49


@[__yun__](/user/749539) [已过,谢谢](https://www.luogu.com.cn/record/146964194)
by maxiaohang0113 @ 2024-02-15 20:27:25


|