rt,我做这道题的时候参考了 @Fan_sheng 的 这篇题解
之后自己的程序一直过不去大样例,就挑出其中一组做测试,之后调试几小时一直找不到问题。
于是尝试在该题解上添加中间步骤的调试输出,和自己的对比来找问题,但是发现了很奇怪的输出:

这里第一行输出依次是 a 点的标号、子树大小、哈希值,b 点的标号、子树大小、哈希值,此时最大能够使用的删点次数。
第二行依次是 a 点标号,b 点标号,最少删几个点能够使 a 子树和 b 子树同构。
如图,这里题解代码输出了 0。而 a 中有 13 个点,b 中只有 12 个,至少也应该删 1 个点使两者同构。
之后仔细阅读他的代码,发现他在以下部分有误:

这里在 B 中元素不存在时他使用的是该节点的儿子数量而不是该节点的大小,显然是错的。
于是拿他的程序跑样例,发现第一个样例虽然答案正确,但是删点数却是零,但是将限制调整为 0 之后该程序依旧能正确输出 No。
所以他这样写为什么可以通过本题?是否有数据可以 hack 掉他的代码?(我没找到