求助,为什么超时?

P5731 【深基5.习6】蛇形方阵

@[wuyu6688](/user/1160843) 没有给初始位置赋值,导致初始位置是 $0$,如果 $n\geqslant 3$,那么最后会先于结束程序重新回到初始位置,此时初始位置左边和上边都不会被访问,而右边下面均已被赋值,那么上下左右都不可以前进,从而 `cnt` 不会改变,从而死循环。 帮你改了一下: ```cpp #include<bits/stdc++.h> using namespace std; int a[21][21]; int main(){ int b,cnt=0; cin>>b; int x=1,y=0; while(cnt<b*b){ while(y+1<=b&&a[x][y+1]==0){ a[x][++y]=++cnt; } while(x+1<=b&&a[x+1][y]==0){ a[++x][y]=++cnt; } while(y-1>=1&&a[x][y-1]==0){ a[x][--y]=++cnt; } while(x-1>=1&&a[x-1][y]==0){ a[--x][y]=++cnt; } } for(int i=1;i<=b;i++){ for(int j=1;j<=b;j++){ cout<<setw(3)<<a[i][j]<<" "; } cout<<endl; } return 0; } ```
by Terrible @ 2024-03-27 21:35:21


@[Terrible](/user/195942) 谢谢
by wuyu6688 @ 2024-03-27 21:37:24


@[Terrible](/user/195942) 好家伙,搞了半天错的,就因为多了个空格╥﹏╥...
by wuyu6688 @ 2024-03-27 21:53:51


@[Terrible](/user/195942) 但是为什么初值条件变成y=2,y=3这种都可以有输出,只有y = 1没有输出
by guayu @ 2024-04-28 00:07:12


@[guayu](/user/1301825) 对于楼主这个程序来说,如果是四个角上开始,忘记给角上赋值的话,“蛇头”就会卡到角里死循环。 ![](data:image/png;base64,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)
by Terrible @ 2024-04-28 13:14:12


@[Terrible](/user/195942) 懂了懂了,有图一下子清晰多了,感谢大佬
by guayu @ 2024-04-28 19:44:09


|