백준/Python
[백준] 26217 별꽃의 세레나데(Easy) (python 파이썬)
노랑꼬리
2022. 12. 22. 22:22
문제링크 : https://www.acmicpc.net/problem/26217
26217번: 별꽃의 세레나데 (Easy)
겨울 나라의 왕은 꽃을 좋아하는 왕비를 위해 가장 아름다운 꽃들을 모아 화관을 만들기로 했다. 왕비가 좋아하는 꽃들은 특별해서 마법의 씨앗을 심은 뒤 별빛을 받아야 피어난다. 마법의 씨앗
www.acmicpc.net
작성코드
해설
꽃이 필 확률은 꽃의 종류와 동일하다.
즉 3종류라면
각각 1/3 일 것이고
5종류라면
각각 1/5 일 것이다.
그런데 모든 종류를 피워야만 한다.
5종류를 예시로 들어보자
필요한 씨앗의 기댓값을 구해야한다.
일단 무조건 첫번째 피는 꽃은 100% 확률로 사용될 것이다. 어떤 꽃이던지 사용될 것이므로 씨앗 하나면 성공한다.
5/5
두번째 꽃은 첫번째 꽃을 제외한 꽃이 피어야 사용 가능하다
4/5 확률 이므로 성공을 위한 씨앗의 기댓값은
5/4
세번째 꽃은
3/5 확률 이므로 기댓값은
5/3
...
...
다섯번쨰 꽃의 기댓 값은
5/1
이 기댓값들을 전부 합한 것이 필요한 씨앗의 총 기댓값이 된다.
이를 코드로 만들어보면
분모가 줄어드는 반복문으로 작성 가능하다.