atcoder#ABC144F. [ABC144F] Fork in the Road

[ABC144F] Fork in the Road

Score : 600600 points

Problem Statement

There is a cave consisting of NN rooms and MM one-directional passages. The rooms are numbered 11 through NN.

Takahashi is now in Room 11, and Room NN has the exit. The ii-th passage connects Room sis_i and Room tit_i (sis_i < tit_i) and can only be traversed in the direction from Room sis_i to Room tit_i. It is known that, for each room except Room NN, there is at least one passage going from that room.

Takahashi will escape from the cave. Each time he reaches a room (assume that he has reached Room 11 at the beginning), he will choose a passage uniformly at random from the ones going from that room and take that passage.

Aoki, a friend of Takahashi's, can block one of the passages (or do nothing) before Takahashi leaves Room 11. However, it is not allowed to block a passage so that Takahashi is potentially unable to reach Room NN.

Let EE be the expected number of passages Takahashi takes before he reaches Room NN. Find the value of EE when Aoki makes a choice that minimizes EE.

Constraints

  • 2N6002 \leq N \leq 600
  • N1MN(N1)2N-1 \leq M \leq \frac{N(N-1)}{2}
  • si<tis_i < t_i
  • If i!=ji != j, (si,ti)(sj,tj)(s_i, t_i) \neq (s_j, t_j). (Added 21:23 JST)
  • For every v=1,2,...,N1v = 1, 2, ..., N-1, there exists ii such that v=siv = s_i.

Input

Input is given from Standard Input in the following format:

NN MM

s1s_1 t1t_1

::

sMs_M tMt_M

Output

Print the value of EE when Aoki makes a choice that minimizes EE. Your output will be judged as correct when the absolute or relative error from the judge's output is at most 10610^{-6}.

4 6
1 4
2 3
1 3
1 2
3 4
2 4
1.5000000000

If Aoki blocks the passage from Room 11 to Room 22, Takahashi will go along the path 134 with probability 12\frac{1}{2} and 14 with probability 12\frac{1}{2}. E=1.5E = 1.5 here, and this is the minimum possible value of EE.

3 2
1 2
2 3
2.0000000000

Blocking any one passage makes Takahashi unable to reach Room NN, so Aoki cannot block a passage.

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.0133333333