测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7566. [ABC144F] Fork in the Road

编程题 提高+/省选-
知识点

题目描述

有 $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$ 的值。

输入格式

输入通过标准输入给出,格式如下:

> $N$ $M$
> $s_1$ $t_1$
> $s_2$ $t_2$
> $\vdots$
> $s_M$ $t_M$

输出格式

输出青木君在使 $E$ 最小化的情况下,$E$ 的值。
当你的输出与标准答案的绝对误差或相对误差不超过 $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}$ 的概率走 134,有 $\frac{1}{2}$ 的概率走 14。此时 $E = 1.5$,这是 $E$ 能取得的最小值。

## 样例解释 2

无论封锁哪条通道,高桥君都无法到达房间 $N$,因此青木君不能封锁任何通道。
上一题 去做题 下一题