dlrkddnr2718   1년 전

문제를 푼 방식은 다음과 같습니다. 

같은 색의 조약돌이 a, b, c개 있다고 가정하겠습니다.

그리고 여기서 k 개의 조약돌을 뽑는다고 가정하겠습니다.

그러면 같은 색의 조약돌을 뽑을 확률은 

aCk + bCk + cCk / (a + b + c) C k 입니다.

문제에서 뽑는 조약돌의 개수를 k >= 1로 제한했기 때문에 0으로 나누는 경우도 없고, 

위의 예시에서 a, b, c < k 인 경우는, aCk, bCk, cCk가 각각 모두 0으로 처리되기 때문에 오류를 내지 않는다고 생각합니다.

그리고 문제의 예시로 주어진 값들도 모두 오차 범위 내에서 출력한다고 생각하는데, 제출하면 틀렸습니다가 나옵니다. 

반례가 무엇인지, 제 코드에서 어느 부분이 잘못되었는지 알려 주시면 정말 감사드리겠습니다. 

dlrkddnr2718   1년 전

이 방법으로는, 무조건 오버플로우가 발생합니다

경우에 따라서, 2500 C 1100 등을 계산해야 할 수도 있기 때문입니다. 

그래서 큰 틀에서 이 방식으로, 세부적인 내용을 조금 바꾸어서 제출하여 맞았습니다. 

저와 비슷한 문제로 고민하시는 분들은 도움이 되었으면 좋겠습니다. 

댓글을 작성하려면 로그인해야 합니다.