[BOJ 1404] 토너먼트 승자
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
2
Time limit:
2.0s
Memory limit:
128M
Problem types
Allowed languages
최백준은 8명이 참가하는 스타크래프트 토너먼트를 개최했다. 토너먼트는 3개의 라운드로 열리고, 다음과 같이 진행된다.</p>
라운드 1에서 i번 경기는 2×i번 참가자와 2×i+1번 참가자의 경기이다. (0 ≤ i ≤ 3), 4명의 승자가 라운드 2로 진출한다.
라운드 2에서 2*i번 경기의 승자와 2×i+1번 경기의 승자가 서로 경기를 한다. (0 ≤ i ≤ 1), 2명의 승자가 라운드 3에 진출한다.
라운드 2의 승자가 토너먼트의 승자를 가리기 위해서 한 게임을 한다.
8명의 참가자가 서로와 싸웠을 때 이길 수 있는 승률이 주어진다. 이때, 각 참가자가 우승할 수 있는 확률을 구하는 프로그램을 작성하시오.
입력 형식
첫째 줄에 수 28개가 주어진다. 처음 7개의 수는 0번 참가자가 1번 참가자와 싸워서 이길 수 있는 확률부터 7번 참가자와 싸워서 이길 수 있는 확률이다. 다음 6개의 수는 1번 참가자와 2번 참가자와 싸워서 이길 수 있는 확률부터 7번 참가자와 싸워서 이길 수 있는 확률이다. 이와 같이 주어진다. 모든 수는 정수이다.
출력 형식
첫째 줄에 각 참가자가 우승할 수 있는 확률을 출력한다. 절대/상대 오차는 10-9까지 허용한다.
예제 입력 1
5 0 10 15 20 25 30 0 35 40 45 50 55 100 100 100 100 100 60 65 70 75 80 85 90 95 50 50
예제 출력 1
0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
예제 입력 2
100 25 0 25 25 25 25 25 25 25 25 25 25 0 25 25 25 25 50 25 25 25 100 25 100 25 25 0
예제 출력 2
0.0 0.0 0.0 0.5 0.5 0.0 0.0 0.0
예제 입력 3
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
예제 출력 3
0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125
예제 입력 4
100 50 50 50 50 50 50 0 50 50 50 50 50 100 50 50 50 50 0 50 50 50 100 50 50 0 50 100
예제 출력 4
0.25 0.0 0.25 0.0 0.25 0.0 0.25 0.0
예제 입력 5
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 100 100 100 10 20 30
예제 출력 5
0.125 0.125 0.125 0.125 0.5 0.0 0.0 0.0
예제 입력 6
1 2 4 7 11 16 22 3 5 8 12 17 23 6 9 13 18 24 10 14 19 25 15 20 26 21 27 28
예제 출력 6
0.0000688919608 0.009061234459199999 0.011498979459599998 0.1853675541204 0.0328889066112 0.18542493028680002 0.17985791390280004 0.3958315891991999
Comments