AtCoder Beginner Contest 404
A,B
H₂O题,秒。
C
这道题从定义中便可以发现三条规律:
- 每一张 “Cycle Graph” 中的节点数和边数都相等。
- 每一张 “Cycle Graph” 中的节点的度都为 \(2\)。
- 每一张 “Cycle Graph” 都是连通图。
全部判掉,即可。
D
从数据范围中,我们可以发现直接使用 “DFS” 也不会超时,所以我们可以在 DFS 中遍历每个动物园取 \(0,1,2\) 次即可(因为动物园的动物至少有一个,去二次之后一定会满足条件)。
E
我们可以设计一个记忆化搜索:
对于每一个碗,我们记录有那些碗可以把豆子转移到那个碗里。
然后我们可以把它想象成最开始所有豆子都在 0 号碗里,我们要把所有豆子移到有豆子的那些碗里。
我们从 0 号碗开始,向后移动豆子。但我们注意到有豆子的碗是必须得移到的,不然它就会没有豆子,所以在搜索时,记录接下来要到哪一个碗里,每次只要可以从转到那里,那就直接转过去。
但需要注意的是,我们的记忆化搜索 dfs(x) 表示把 x 后面的碗的所有豆子都移到 x 这个碗最少需要几步,所以由于最后一个有豆子的碗及以后的所有碗后面都没有豆子,所以都为 \(0\)。(赛时就因为这个没拿分)
后面的题作者没有写,请尽情谅解

浙公网安备 33010602011771号