#P11183. [NHSPC 2023] C. 与自动辅助驾驶畅游世界
[NHSPC 2023] C. 与自动辅助驾驶畅游世界
题目描述
知名汽车公司 EWM 在自家的汽车上安装了最新的自动驾驶辅助 (auto co-pilot) 技术,让汽车在驾驶员没有给出明确指令的情况下,也能依据 AI 做出的决策前进。身为车主的小明,自然开始计划使用这款具备自动驾驶辅助技术的汽车以畅游世界。
这个世界可以看作一张有向图 (directed graph) ,其中 上的点 为小明目前的位置,点 为小明欲到达的终点。为了兼顾行车安全,EWM 的汽车在 上的行进期间,必须遵循有向边 (directed edge) 的方向前进,不能逆向行驶;在此前提下,无论所在的位置为何,AI 都会从所有可以前进的方向中,均匀随机地 (uniformly random) 选择一个方向前进。举例来说,若汽车目前在点 ,而点 有三条向外的边,分别连到点 ,此时 AI 辅助驾驶会从点 中,以概率各为 的方式选出一个前进。
为了使驾驶员能控制汽车往他/她希望的方向前进,EWM 公司提供了以下的机制:在 AI 做出决策前,驾驶员可以支付 枚 EWM 公司发行的代币,让 AI 选择驾驶员希望的方向。以上一个例子为例,若小明在点 时不希望 AI 做随机选择,而是直接选择某个点(例如点 )前进,那么他可以支付 枚代币,控制 AI 直接选择走向点 。请注意一次代币支付仅限使用于一次选择,亦即若汽车重新回到了同一个支付过代币的点,AI 并不会直接往上一次支付代币时指定的方向前进,而是会重新均匀随机地做出选择;如果驾驶员仍想指定汽车的前进方向,必须再次支付 枚代币。
小明想要知道,他最少需要准备多少枚代币,才能保证在抵达终点 前的任何时刻都存在一条从他的所在地抵达终点 的路径。
输入格式
- 代表 的节点数。
- 代表 的边数。
- 代表 有一条边从 有向连到 。
- 代表小明目前的位置。
- 代表小明欲到达的终点。
输出格式
如果小明有办法在支付一些代币后到达 ,请输出
其中 代表最少需要支付的代币数。否则,输出
输入输出样例 #1
输入 #1
5 5
1 2
2 3
3 1
2 4
3 5
1 5
输出 #1
2
输入输出样例 #2
输入 #2
5 6
1 2
2 3
3 1
4 2
4 5
5 4
1 5
输出 #2
-1
输入输出样例 #3
输入 #3
8 11
1 2
2 1
2 3
3 4
3 8
4 1
4 5
5 6
5 7
6 7
6 8
1 8
输出 #3
1
说明/提示
测试数据限制
- 。
- 。
- 。
- 。
- 。
- 。
- 对任意 ,若 ,则 。
- 输入的数皆为整数。
评分说明
本题共有四组子任务,条件限制如下所示。 每一组可有一或多个测试数据,该组所有测试数据皆需答对才可获得该组分数。
子任务 | 分数 | 额外输入限制 |
---|---|---|
1 | ,且存在某个点 满足从 出发可以到达 上的其他点 | |
2 | 不包含任何环 (cycle) | |
3 | ||
4 | 无额外限制 |