310709: CF1874C. Jellyfish and EVA
Description
Monsters have invaded the town again! Asuka invites her good friend, Jellyfish, to drive EVA with her.
There are $n$ cities in the town. All the monsters are in city $n$. Jellyfish and Asuka are currently in city $1$ and need to move to city $n$ to defeat the monsters.
There are $m$ roads. The $i$-th road allows one to travel from city $a_i$ to city $b_i$. All the roads are directed. That is, one cannot travel from city $b_i$ to $a_i$ using the $i$-th road. Interestingly, all roads satisfy $a_i<b_i$.
Driving EVA requires two people to work together. However, Asuka and Jellyfish have not done any training together before.
Suppose that EVA is currently in city $u$. Jellyfish and Asuka will both choose an undestroyed road that starts at city $u$. Suppose Jellyfish and Asuka choose roads that end at cities $v_1$ and $v_2$ respectively. If $v_1 = v_2$, EVA moves to city $v_1$ successfully. Otherwise, EVA stays in city $u$ and both roads that they have chosen will be destroyed.
It is possible that EVA is currently in city $u$ ($u \neq n$) and there are no undestroyed roads that start at city $u$. In that case, the mission will be a failure. Otherwise, if they reach city $n$ in the end, the mission is considered a success.
Every time they choose the roads, Jellyfish knows that Asuka will choose a road randomly. Now, Jellyfish wants to know, if she chooses the roads optimally, what is the maximum probability of the mission being successful.
InputEach test contains multiple test cases. The first line contains the number of test cases $t$ ($1 \leq t \leq 2000$). The description of the test cases follows.
The first line of each test case contains two integers, $n$ and $m$ ($2 \leq n \leq 5000$, $0 \leq m \leq \min(\frac{n(n-1)}{2}, 2 \cdot 10^5)$) — the number of the cities and the number of the roads.
In the following $m$ lines of each test case, each line contains two integers $a$ and $b$ ($1 \leq a < b \leq n$) — representing a road from city $a$ to city $b$.
It is guaranteed that for each test case, each road appears at most once.
It is guaranteed that the sum of $n$ over all test cases will not exceed $5000$ and that the sum of $m$ over all test cases will not exceed $2 \cdot 10^5$.
OutputOutput the maximum probability of the mission being successful if Jellyfish chooses the roads optimally.
Your answer will be accepted if the absolute or relative error does not exceed $10^{-9}$. Formally, let your answer be $a$, and the jury's answer be $b$. Your answer is considered correct if $\frac{|a-b|}{\max(1,|b|)} \leq 10^{-9}$.
ExampleInput3 3 2 1 2 1 3 7 8 1 2 1 3 1 4 1 5 2 6 3 6 4 6 6 7 10 20 1 2 1 3 1 4 1 5 1 6 2 6 2 7 2 8 2 9 3 4 3 7 3 8 3 10 4 6 4 8 4 10 6 10 7 8 7 9 7 10Output
0.500000000000 0.625000000000 0.491666666667Note
In the first test case, Jellyfish will choose $v_1=3$, and Asuka will choose $v_2=2$ with a possibility of $0.5$ and $v_2=3$ with a possibility of $0.5$. The mission is considered a success with a possibility of $0.5$.
Output
一个镇上有n个城市,m条有向道路。所有道路都满足a_i < b_i,即从城市a_i到b_i。有两个角色Jellyfish和Asuka,他们需要从城市1移动到城市n击败怪物。EVA需要两人合作驾驶,每次Jellyfish和Asuka各自随机选择一条道路,如果他们选择的道路终点相同,则成功移动到该城市;否则,他们当前所在城市的一条道路会损坏。如果某个时刻他们所在的城市没有未损坏的道路,则任务失败。问Jellyfish如何选择道路,才能使任务成功的概率最大。
输入输出数据格式:
输入:
- 第一行包含一个整数t(1 ≤ t ≤ 2000),表示测试用例数量。
- 每个测试用例第一行包含两个整数n和m(2 ≤ n ≤ 5000, 0 ≤ m ≤ min(n(n-1)/2, 2 * 10^5)),分别表示城市的数量和道路的数量。
- 接下来m行,每行包含两个整数a和b(1 ≤ a < b ≤ n),表示从城市a到城市b的一条道路。
输出:
- 对于每个测试用例,输出Jellyfish选择道路使任务成功的最大概率,保留9位小数。
LaTeX格式:
题目大意:
一个镇上有$n$个城市,$m$条有向道路。所有道路都满足$a_i < b_i$,即从城市$a_i$到$b_i$。有两个角色Jellyfish和Asuka,他们需要从城市1移动到城市$n$击败怪物。EVA需要两人合作驾驶,每次Jellyfish和Asuka各自随机选择一条道路,如果他们选择的道路终点相同,则成功移动到该城市;否则,他们当前所在城市的一条道路会损坏。如果某个时刻他们所在的城市没有未损坏的道路,则任务失败。问Jellyfish如何选择道路,才能使任务成功的概率最大。
输入输出数据格式:
输入:
- 第一行包含一个整数$t$($1 \leq t \leq 2000$),表示测试用例数量。
- 每个测试用例第一行包含两个整数$n$和$m$($2 \leq n \leq 5000$, $0 \leq m \leq \min(\frac{n(n-1)}{2}, 2 \cdot 10^5)$),分别表示城市的数量和道路的数量。
- 接下来$m$行,每行包含两个整数$a$和$b$($1 \leq a < b \leq n$),表示从城市$a$到城市$b$的一条道路。
输出:
- 对于每个测试用例,输出Jellyfish选择道路使任务成功的最大概率,保留9位小数。题目大意: 一个镇上有n个城市,m条有向道路。所有道路都满足a_i < b_i,即从城市a_i到b_i。有两个角色Jellyfish和Asuka,他们需要从城市1移动到城市n击败怪物。EVA需要两人合作驾驶,每次Jellyfish和Asuka各自随机选择一条道路,如果他们选择的道路终点相同,则成功移动到该城市;否则,他们当前所在城市的一条道路会损坏。如果某个时刻他们所在的城市没有未损坏的道路,则任务失败。问Jellyfish如何选择道路,才能使任务成功的概率最大。 输入输出数据格式: 输入: - 第一行包含一个整数t(1 ≤ t ≤ 2000),表示测试用例数量。 - 每个测试用例第一行包含两个整数n和m(2 ≤ n ≤ 5000, 0 ≤ m ≤ min(n(n-1)/2, 2 * 10^5)),分别表示城市的数量和道路的数量。 - 接下来m行,每行包含两个整数a和b(1 ≤ a < b ≤ n),表示从城市a到城市b的一条道路。 输出: - 对于每个测试用例,输出Jellyfish选择道路使任务成功的最大概率,保留9位小数。 LaTeX格式: 题目大意: 一个镇上有$n$个城市,$m$条有向道路。所有道路都满足$a_i < b_i$,即从城市$a_i$到$b_i$。有两个角色Jellyfish和Asuka,他们需要从城市1移动到城市$n$击败怪物。EVA需要两人合作驾驶,每次Jellyfish和Asuka各自随机选择一条道路,如果他们选择的道路终点相同,则成功移动到该城市;否则,他们当前所在城市的一条道路会损坏。如果某个时刻他们所在的城市没有未损坏的道路,则任务失败。问Jellyfish如何选择道路,才能使任务成功的概率最大。 输入输出数据格式: 输入: - 第一行包含一个整数$t$($1 \leq t \leq 2000$),表示测试用例数量。 - 每个测试用例第一行包含两个整数$n$和$m$($2 \leq n \leq 5000$, $0 \leq m \leq \min(\frac{n(n-1)}{2}, 2 \cdot 10^5)$),分别表示城市的数量和道路的数量。 - 接下来$m$行,每行包含两个整数$a$和$b$($1 \leq a < b \leq n$),表示从城市$a$到城市$b$的一条道路。 输出: - 对于每个测试用例,输出Jellyfish选择道路使任务成功的最大概率,保留9位小数。