#P13344. [EGOI 2025] Currents
[EGOI 2025] Currents
Description
你在一座废弃宅邸的中庭深处,发现了一本古老的书,揭示了波恩市最隐秘的秘密。在城市的地下深处,存在着一个由 个洞穴组成的系统,这些洞穴通过 条水道连接。每条水道中都流淌着单向的魔力水流,可以让船只沿着水道快速穿梭。洞穴系统目前只有一个出口,位于洞穴 。
你对自己的发现感到无比兴奋,迫不及待地想要探索这些洞穴!然而,这个洞穴系统里住着一个巨魔,他喜欢戏弄不速之客。巨魔拥有有限的魔力——在你探险期间,他最多只能使用一次——可以用来修改洞穴系统,使你更难到达出口。
你的洞穴探险由若干轮组成。每一轮流程如下:
- 首先,巨魔可以选择是否使用他的魔法。如果他使用,咒语会同时产生以下效果:
- 立刻反转所有水道的魔力水流方向: 会变为 ;
- 关闭位于洞穴 的出口;
- 并在洞穴 开启一个新的出口。
- 然后,你可以选择一条从当前洞穴出发的水道,用船移动到另一个洞穴。为简便起见,每次乘船称为“一步移动”。
此外,每当你处于有出口的洞穴时,你会立刻离开洞穴系统。注意,如果你在某一轮时正好处于洞穴 ,而巨魔选择此时发动魔法,你也会立即通过新开的出口离开。
你的目标是尽快离开洞穴系统,好赶上 EGOI 的闭幕式。而巨魔的目标正好相反:他希望你在洞穴里待得越久越好。巨魔总是知道你的位置,并会选择对他最有利的时机发动魔法。
对于每个洞穴 (),考虑你从洞穴 出发的情形。对于这些情形中的每一个,请你计算无论巨魔何时发动魔法,你都一定能到达某个出口的最小移动次数。
假设如果不发动魔法,从洞穴 总能到达任意洞穴,且从任意洞穴总能到达洞穴 。
Input Format
第一行输入两个整数 和 ,分别表示洞穴数量和水道数量。接下来 行,每行两个整数 和 ,表示当前有一条水道可从洞穴 到洞穴 。不会有自环,每对洞穴之间每个方向最多只会有一条水道。
Output Format
输出一行 个整数,第 个整数()表示从洞穴 出发,在巨魔任意时机发动魔法的情况下,你一定能到达出口所需的最小移动次数。
注意不需要输出洞穴 的答案(因为你一开始就在出口,可以立刻离开)。
5 6
0 1
1 2
1 3
2 4
3 4
0 3
2 2 2 1
7 10
2 6
5 3
4 2
1 6
2 3
3 6
4 5
0 4
4 1
0 1
2 1 2 3 2 4
2 1
0 1
1
6 8
0 1
4 0
1 2
2 3
3 5
0 4
4 5
2 0
2 4 3 3 1
Hint
样例说明
对于第一个样例,考虑你从洞穴 出发的情形。由于你无法预知方向反转会在何时发生,你应当一开始就朝着出口(洞穴 )前进。你可以选择经由洞穴 或洞穴 。此处,经由洞穴 是更优的选择,因为如果巨魔在你到达洞穴 时发动魔法,你可以直接通过从洞穴 到洞穴 的通道离开洞穴系统。
更具体地说,巨魔有三种可能的施法时机:
- 如果巨魔在你还在洞穴 时立刻发动魔法,你可以直接从洞穴 前往洞穴 并离开洞穴系统。
- 如果巨魔在你从洞穴 到达洞穴 后发动魔法,你可以直接从洞穴 前往洞穴 并离开。
- 如果巨魔在上述两种情况下都没有发动魔法,你将从洞穴 前往洞穴 并离开。
在第一种情况下你只需要移动一次;在其余两种情况下你需要移动两次。因此,这一情形的答案为 。
注意,如果你选择从洞穴 前往洞穴 ,巨魔可以迫使你需要三步才能离开。
第一个和第二个样例满足测试组 3、4、5 的约束。第三个样例满足所有测试组的约束。第四个样例满足测试组 3 和 5 的约束,见下图。
约束与评分
- 且
- 在反转前,洞穴 能到达所有洞穴,且所有洞穴都能到达洞穴
你的解答将在一组测试组上进行评测,每组包含若干测试用例。要获得该测试组的分数,你需要通过该测试组的所有测试用例。
| 测试组 | 分值 | 限制条件 |
|---|---|---|
| 1 | 12 | ,且 ,,即洞穴系统是一条链 $0 \rightarrow 1 \rightarrow 2 \rightarrow \ldots \rightarrow N-1$ |
| 2 | 15 | 对每个 ,都存在一条从 直达 的通道(可能还有其它通道) |
| 3 | 20 | |
| 4 | 29 | 每次离开某洞穴后,在反转发生前无法回到该洞穴(即所有通道构成有向无环图) |
| 5 | 24 | 无额外限制 |
翻译由 ChatGPT-4.1 完成。
京公网安备 11011102002149号