@[Mr_Wolfram](/space/show?uid=45753)
https://paste.ubuntu.com/p/PTvTwjXJDq/
https://paste.ubuntu.com/p/thFQJHqydN/
这是这两次提交的代码
by Mr_Wolfram @ 2018-02-27 16:39:09
# 滋磁我校dalao
by luv_letters @ 2018-02-27 17:19:54
~~虽然我并帮不上什么忙~~
by luv_letters @ 2018-02-27 17:20:46
是a[]数组的锅。
a[]定义成全局变量的话,在递归到的下一个状态中直接改变了当前状态的a[]中的值,导致计算紊乱。至于没有全错的原因大概是数据较弱吧=-=
把a[]定义成局部变量就可以了。
https://www.luogu.org/recordnew/show/5999092
而你的第一份代码中不会出错是因为每个状态都只能转移到hash值比当前更小的状态(因为他能转移到的状态在二进制下都比他小),而这些状态之前都计算过了(主函数中的循环是从小到大的嘛),所以进入到SG_search函数第一行后便返回了,就不对上一个状态造成影响..
(希望能帮到你^_^)
@[Mr_Wolfram](/space/show?uid=45753)
by zubizakeli @ 2018-03-01 22:19:19
@[zubizakeli](/space/show?uid=27388)
谢谢您
by Mr_Wolfram @ 2018-03-03 21:52:01