만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

감염

시간 제한1초메모리 제한1024 MB

요약
접촉 순서가 주어지고 접촉마다 감염이 1/2 확률로 전파될 때, 직원 k가 결국 감염되었음을 알고 각 직원의 감염 확률을 기약분수로 구합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 비트 연산, 확률
정답자
아직 제출이 없습니다

문제

한 비밀 조직에서 긴급 상황이 발생했다. 근무 중간에 직원 한 명이 매우 위험한 colonavirus 감염 증상으로 입원했다. 관리진은 아직 증상이 나타나지 않은 직원들 중 누가 여전히 감염될 수 있는지 알고 싶어 한다.

조직에는 nn명의 직원이 있으며, 1부터 nn까지 정수로 번호가 매겨져 있다. CCTV 녹화 영상을 통해 관리진은 직원들이 언제 서로 접촉했는지 파악했다. 관리진은 다음 가정도 고려했다.

  • 근무일 시작 시점에 정확히 한 명만 감염되어 있으며, 각 초기 상태가 나올 확률은 1/n1/n이다.
  • 두 직원이 접촉했을 때, 한 명은 감염되어 있고 다른 한 명은 감염되지 않았다면 건강한 직원은 1/21/2의 확률로 감염된다. 두 직원이 모두 건강하거나 모두 감염되어 있으면 아무 일도 일어나지 않는다.
  • 감염된 직원은 갑자기 회복하지 않는다. 끝까지 감염 상태로 남는다.
  • 직원 kk가 결국 감염되었다는 사실이 알려져 있다.

접촉 목록은 시간 순서대로 주어진다. 위 가정에 따라 각 직원이 감염될 확률을 구하라.

입력

첫 줄에 세 정수 nn, kk, mm이 주어진다. 각각 직원 수, 감염된 직원의 번호, 접촉 횟수이다 (2≤n≤152 \le n \le 15, 1≤k≤n1 \le k \le n, 1≤m≤501 \le m \le 50).

이어지는 mm개의 줄에는 ii번째 접촉에 참여한 직원의 번호 xix_i와 yiy_i가 주어진다 (1≤xi,yi≤n1 \le x_i, y_i \le n, xi≠yix_i \ne y_i).

모든 접촉은 시간 순서대로 주어진다.

출력

nn개의 줄을 출력한다. ii번째 줄에는 직원 ii가 감염될 확률을 기약분수 a/ba/b 형태로 출력한다.

예제3

  1. 예제 1

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

    입력
    3 2 2
    1 2
    2 3
    
    예상 출력
    1/2
    1/1
    5/8
    
  3. 예제 3

    입력
    4 1 4
    1 2
    2 3
    3 4
    4 1
    
    예상 출력
    1/1
    19/37
    17/37
    27/37