求助DLX死循环

SP1110 SUDOKU - Sudoku

@[Endline](/user/401052) remove和resume的顺序必须是相反的
by hjxhjx @ 2023-07-28 09:01:41


@[hjxhjx](/user/178480) 感谢,但是我板子[这么写](https://www.luogu.com.cn/record/117732851)竟然过了也是无语……
by Endline @ 2023-07-28 09:09:22


@[Endline](/user/401052) Don't learn useless algorithm, go and learn how to use binary search!(bushi
by qinyubo @ 2023-07-28 15:49:58


@[Endline](/user/401052) 我也遇到了这个问题,但想不通为什么……
by yu1102 @ 2023-08-21 18:49:16


@[Endline](/user/401052) 刚想到的,不知道对不对。 - 解答如下:这由remove函数和restore函数的性质决定,注意删除列c时,c列中的U和D都没有更改,这样做的目的是方便恢复。所以在接下来的操作中,c列中的U和D也不能变。 考虑依次删除的列c1,c2,且它们包含同一行,那么**删c2时,c1的U,D就变了!** 所以在恢复时应先恢复c2再恢复c1,否则链表指针会错乱,引起死循环。
by yu1102 @ 2023-08-21 19:11:22


@[yu1102](/user/409860) 太对了!一下子想通了!
by _CHO @ 2024-02-15 01:43:06


|