아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

숲에서 길을 잃은 친구

시간 제한5초메모리 제한512 MB

요약
무방향 그래프에서 정점 0에서 무작위로 이동할 때 정점 N-1에 도달할 때까지 걸리는 시간의 기댓값을 구한다.
난이도

보통10점 중 6점

유형
그래프, 확률, 수학, 구현
정답자
아직 제출이 없습니다

문제

친구가 숲에서 길을 잃었다. 데리러 와 달라고 전화가 왔지만 나는 너무 바빠서 그냥 집에 있고 싶다. 급히 숲 지도를 찾아보니 숲은 몇 개의 빈터와 빈터를 잇는 길로 이루어져 있다. 숲이 충분히 작고 단순해서 친구가 아무 방향으로나 뛰어다니기만 해도 쉽게 빠져나오기를 바랄 뿐이다.

친구의 설명을 들으면 지금 어느 빈터에 있는지는 알 수 있다. 친구는 빈터에 도착할 때마다 그 빈터에서 뻗어 나온 길 중 하나를 균등한 확률로 골라 달려간다. 방금 온 길을 되돌아가는 것도 포함한다. 한 빈터에서 다음 빈터까지 가는 데는 정확히 1분이 걸린다. 친구가 숲을 빠져나오기까지 걸리는 시간의 기댓값을 구하라.

입력

첫 줄에 정수 NN과 MM이 주어진다. NN은 숲에 있는 빈터의 개수 (2≤N≤202 \le N \le 20), MM은 빈터를 잇는 길의 개수다. 빈터에는 00번부터 N−1N-1번까지 번호가 붙어 있고, 00번 빈터는 친구가 지금 있는 곳, N−1N-1번 빈터는 숲의 출구다.

다음 MM개 줄에는 각각 정수 KK와 LL이 주어진다. KK번 빈터와 LL번 빈터를 잇는 길이 있다는 뜻이다 (0≤K,L≤N−10 \le K, L \le N-1, K≠LK \ne L).

친구는 길을 따라 출구에 도달할 수 있다. 같은 두 빈터를 잇는 길은 많아야 하나이고, 길끼리 교차하지 않는다. 00번 빈터에서 갈 수 없는 빈터가 있을 수도 있다.

출력

친구가 숲을 빠져나오기까지 걸리는 시간의 기댓값을 분 단위로 한 줄에 출력한다. 소수점 아래 일곱째 자리에서 반올림하고, 소수점 아래를 정확히 여섯 자리로 맞춰 출력한다.

예제3

  1. 예제 1

    입력
    3 3
    0 1
    1 2
    0 2
    
    예상 출력
    2.000000
    
  2. 예제 2

    입력
    5 6
    0 1
    0 2
    1 2
    2 4
    0 3
    3 4
    
    예상 출력
    6.727273
    
  3. 예제 3

    입력
    4 4
    0 1
    1 3
    3 0
    0 2
    
    예상 출력
    3.333333