10分求助!!!

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

``` #include <iostream> #include <cstdio> using namespace std; int n,a[10010][10010],x=1,y,cnt=2; int main() { scanf("%d",&n); y=(n+1)/2; a[x][y]=1; int now=n*n; for(int i=2;i<=now;++i) { if(x==1&&y!=n) { a[n][y+1]=cnt; x=n; y+=1; cnt++; } else if(x!=1&&y==n) { a[x-1][1]=cnt; x-=1; y=1; cnt++; } else if(x==1&&y==n) { a[x+1][y]=cnt; x+=1; cnt++; } else { if(a[x-1][y+1]==0) { a[x-1][y+1]=cnt; x-=1; y+=1; cnt++; } else { a[x+1][y]=cnt; x+=1; cnt++; } } } for(int i=1;i<=n;++i) { for(int e=1;e<=n;++e) printf("%d ",a[i][e]); printf("\n"); } return 0; } ``` 我看您代码和他很相似,可以参考下
by Gary__NotFound @ 2023-12-29 22:45:26


感谢
by guanchenhui123 @ 2023-12-30 20:06:33


|