페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
두 팀이 축구 경기를 하며, 팀 1가 팀 2를 이길 확률을 계산해야 한다.
두 팀이 경기하는 축구장은 대칭이 아니고 양쪽 골문의 크기가 서로 다르므로, 어느 쪽 진영을 사용하는지가 경기 결과를 좌우할 수 있다. 물론 두 팀의 실력도 반드시 정확히 같지는 않다. 어느 한 팀이 골을 넣을 때까지 경기를 진행하며, 그 팀이 승리한다. 입력으로 팀 1가 다음 골을 넣을 확률이 주어진다. 이 확률은 그 팀이 어느 쪽 진영에서 경기하는지에만 좌우된다.
선수들은 양쪽 진영의 불공평함을 보완하기 위해 번갈아 진영을 바꿀 수 있다는 것을 알아냈다. 어느 한 팀이 골을 넣은 뒤 진영을 바꾸고, 골에서 원래대로 바꾸며, 다시 골, 골, 골 등에서 진영을 바꾸기로 했다. 팀 1는 항상 진영 1에서 경기를 시작한다. 즉, 두 팀 득점의 합이 아니라 최댓값을 살핀다는 점에 유의한다! 예를 들어 (-)이 될 때는 바꾸지 않고, 가령 (-)이 될 때 바꾼다. 또한 (-)일 때도 바꾸지 않고, 가령 (-)이 될 때에야 바꾼다.
제출한 풀이는 여러 테스트 케이스 그룹으로 이루어진 집합으로 평가된다. 한 그룹의 점수를 얻으려면 그 그룹의 모든 테스트 케이스를 통과해야 한다.
그룹 | 점수 | 제한
||
||
|| 추가 제한이 없다.
입력은 세 수가 있는 한 줄로 이루어진다. 첫 번째 수는 한 팀이 승리하기 전에 넣어야 하는 골의 수를 나타내는 정수 , 이다. 이어서 팀 1가 진영 1를 사용할 때 다음 골을 넣을 확률인 실수 가 주어지고, 마지막으로 팀 1가 진영 2를 사용할 때 다음 골을 넣을 확률인 실수 가 주어진다. 당연히 가 성립한다. 팀 2가 다음 골을 넣을 확률은 쉽게 계산할 수 있음에 유의한다. 팀 1가 진영 1에서 경기하는지 진영 2에서 경기하는지에 따라 그 확률은 또는 이다.
프로그램은 팀 1가 경기에서 승리할 확률을 출력한다. 적어도 자리의 소수점 이하 자릿수까지 정확해야 한다.
1 0.55 1.0
0.55000000
6 0.55 1.0
1.00000000
17 0.75 0.3
0.58191786
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.