A7566 | [ABC144F] Fork in the Road
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
有 $N$ 个房间和 $M$ 条只能单向通行的通道组成的洞窟。每个房间编号为 $1$ 到 $N$。
高桥君现在在房间 $1$,房间 $N$ 是出口。第 $i$ 条通道连接房间 $s_i$ 和房间 $t_i$($s_i < t_i$),只能从房间 $s_i$ 走向房间 $t_i$。已知除了房间 $N$ 以外,每个房间至少有一条出发的通道。
高桥君尝试从洞窟中逃脱。每当他到达一个房间时(开始时视为到达房间 $1$),他会等概率随机选择一条从该房间出发的通道前进。
高桥君的朋友青木君可以在高桥君从房间 $1$ 出发前,选择封锁一条通道(也可以什么都不做)。但不能封锁导致高桥君无法到达房间 $N$ 的通道。
设高桥君到达房间 $N$ 前经过的通道数的期望为 $E$。请你求出青木君在使 $E$ 最小化的情况下,$E$ 的值。
高桥君现在在房间 $1$,房间 $N$ 是出口。第 $i$ 条通道连接房间 $s_i$ 和房间 $t_i$($s_i < t_i$),只能从房间 $s_i$ 走向房间 $t_i$。已知除了房间 $N$ 以外,每个房间至少有一条出发的通道。
高桥君尝试从洞窟中逃脱。每当他到达一个房间时(开始时视为到达房间 $1$),他会等概率随机选择一条从该房间出发的通道前进。
高桥君的朋友青木君可以在高桥君从房间 $1$ 出发前,选择封锁一条通道(也可以什么都不做)。但不能封锁导致高桥君无法到达房间 $N$ 的通道。
设高桥君到达房间 $N$ 前经过的通道数的期望为 $E$。请你求出青木君在使 $E$ 最小化的情况下,$E$ 的值。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $M$
> $s_1$ $t_1$
> $s_2$ $t_2$
> $\vdots$
> $s_M$ $t_M$
> $N$ $M$
> $s_1$ $t_1$
> $s_2$ $t_2$
> $\vdots$
> $s_M$ $t_M$
输出格式
输出青木君在使 $E$ 最小化的情况下,$E$ 的值。
当你的输出与标准答案的绝对误差或相对误差不超过 $10^{-6}$ 时,将被判定为正确。
当你的输出与标准答案的绝对误差或相对误差不超过 $10^{-6}$ 时,将被判定为正确。
输入输出样例
输入 #1
4 6 1 4 2 3 1 3 1 2 3 4 2 4
输出 #1
1.5000000000
输入 #2
3 2 1 2 2 3
输出 #2
2.0000000000
输入 #3
10 33 3 7 5 10 8 9 1 10 4 6 2 5 1 7 6 10 1 4 1 3 8 10 1 5 2 6 6 9 5 6 5 8 3 6 4 8 2 7 2 9 6 7 1 2 5 9 6 8 9 10 3 9 7 8 4 5 2 10 5 7 3 5 4 7 4 9
输出 #3
3.0133333333
## 限制条件
- $2 \leq N \leq 600$
- $N-1 \leq M \leq \frac{N(N-1)}{2}$
- $s_i < t_i$
- 对于 $i \neq j$,$(s_i, t_i) \neq (s_j, t_j)$(2021-11-23 补充)
- 对于任意 $v = 1, 2, \ldots, N-1$,存在某个 $i$ 使得 $v = s_i$
## 样例解释 1
如果青木君封锁了从房间 $1$ 到房间 $2$ 的通道,高桥君有 $\frac{1}{2}$ 的概率走
## 样例解释 2
无论封锁哪条通道,高桥君都无法到达房间 $N$,因此青木君不能封锁任何通道。
- $2 \leq N \leq 600$
- $N-1 \leq M \leq \frac{N(N-1)}{2}$
- $s_i < t_i$
- 对于 $i \neq j$,$(s_i, t_i) \neq (s_j, t_j)$(2021-11-23 补充)
- 对于任意 $v = 1, 2, \ldots, N-1$,存在某个 $i$ 使得 $v = s_i$
## 样例解释 1
如果青木君封锁了从房间 $1$ 到房间 $2$ 的通道,高桥君有 $\frac{1}{2}$ 的概率走
1 → 3 → 4,有 $\frac{1}{2}$ 的概率走 1 → 4。此时 $E = 1.5$,这是 $E$ 能取得的最小值。## 样例解释 2
无论封锁哪条通道,高桥君都无法到达房间 $N$,因此青木君不能封锁任何通道。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?