조작인가 아닌가

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

요약
g개의 조, 시드 팀, 포트, 연맹 제약이 주어질 때, 가능한 모든 유효한 조 추첨에서 특정 팀이 같은 조에서 만나는 상대들의 힘 합의 평균을 구한다.
난이도

어려움10점 중 9점

유형
조합론, 확률, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

축구 월드컵 주최 측에게 최종 조 추첨은 매우 민감한 작업이다. 이 추첨으로 대회 1차 리그의 조 편성이 정해지고, 간접적으로는 토너먼트 단계의 대진까지 좌우된다. 한 팀의 성적은 어떤 상대를 만나느냐에 크게 달려 있고, 심지어 우승 팀까지 바뀔 수 있기 때문에 그만큼 중요하다.

최종 추첨은 조작 의혹의 대상이 되곤 한다. 어떤 팀들은 자기 조가 다른 조보다 강하다고 여겨 부당한 대우를 받았다고 항의한다. 당신의 임무는 그렇지 않다는 것을 납득시킬 근거를 제시하는 것이다.

추첨에는 여러 공정성 조건이 있어 다소 복잡하다. 강한 팀들이 한 조에 몰리지 않도록 하고, 서로 다른 대륙연맹의 팀들을 여러 조에 나누어 배치해야 한다. 이는 다음 규칙으로 보장된다.

  • 그룹은 gg개이고, 각 그룹에는 mm개의 팀이 들어간다.
  • 개최국은 첫 번째 그룹의 첫 시드로 배정된다.
  • 선정된 g−1g - 1개의 팀이 나머지 그룹들의 첫 시드가 된다.
  • 남은 자리는 m−1m - 1개의 포트에서, 각 그룹마다 포트별로 한 팀씩 뽑아 채운다.
  • 어떤 팀들이 같은 대륙연맹에 속하는지 주어지며, 같은 대륙연맹의 두 팀이 같은 그룹에 들어가지 않도록 해야 한다. 한 대륙연맹의 팀 수가 gg보다 많으면 이는 불가능하므로, 그런 대륙연맹에 대해서는 이 규칙을 무시한다.
  • 팀 수가 gg 이하인 대륙연맹의 경우, 시드가 아닌 그 연맹의 모든 팀은 같은 포트에 있다고 가정해도 된다.
  • 각 팀은 정확히 하나의 대륙연맹에 속하며, 시드이거나 정확히 하나의 포트에 속한다.

주어진 한 팀에 대해, 그 팀의 상대(같은 조에 속한 다른 팀들)의 평균 강함을 구하려 한다. 즉, 그 팀과 같은 조에 있는 다른 팀들의 강함의 합을, 동일한 확률로 일어난다고 가정한 모든 올바른 추첨에 대해 평균낸 값이다. 각 팀의 강함은 입력으로 주어진다.

입력

입력의 첫 줄에는 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 다음과 같이 구성된다.

첫째 줄에는 그룹의 개수 g≤8g \le 8과 그룹당 팀 수 m≤4m \le 4가 주어진다.

다음 줄에는 g⋅mg \cdot m개의 정수가 주어지며, ii번째 정수 0≤si≤10 0000 \le s_i \le 10\,000은 팀 ii의 강함이다. 팀 번호는 00부터 시작하고, 관례상 개최국은 팀 00이다.

그다음 줄에는 시드 배정된 g−1g - 1개의 팀 번호가 주어진다. 이어지는 m−1m - 1개의 줄에는 각각 같은 포트에 속하는 gg개의 팀 번호가 주어진다.

그다음 줄에는 대륙연맹의 개수 cc가 주어진다. 이어지는 cc개의 줄은 각각 하나의 대륙연맹을 나타내며, 팀 수 ni>0n_i > 0으로 시작해 nin_i개의 팀 번호가 뒤따른다.

마지막 줄에는 평균 조 강함을 계산할 팀의 번호 tt가 주어진다.

출력

각 테스트 케이스마다, 조별 리그에서 팀 tt의 상대들의 강함의 합에 대한 평균을 소수점 아래 셋째 자리까지 반올림하여 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    2
    2 3
    1 2 3 4 5 6
    1
    2 5
    3 4
    1
    6 0 1 2 3 4 5
    5
    2 3
    1 2 3 4 5 6
    1
    2 5
    3 4
    2
    2 0 5
    4 1 2 3 4
    5
    
    예상 출력
    6.000
    6.500