PS알못 OrbitHv의 PS logo PS알못 OrbitHv의 PS

태그:

16. 정수론 및 조합론 CLASS 3

옷 또는 장신구를 하나 이상 입고 있는 경우의 수를 구하는 문제입니다. 옷 또는 장신구는 이름과 종류로 정의되는데, 종류 당 최대 하나만 입을 수 있다는 조건이 있습니다. 먼저 조건 중 아무것도 입지 않을 수 없다는 조건을 배제하고 경우의 수를 세보겠습니다. 예를 들어, 상의 종류의 옷이 4가지 존재한다고 해봅시다. 그러면 상의를 안 입거나, 4가지 중 하나를 골라 입을 수 있으므로 5가지의 경우의 수가 생깁니다. 마찬가지로 다른 종류의 옷 또는 장신구에도 적용할 수 있습니다. 그런데 옷 또는 장신구의 종류는 서로에게 영향이 없는 독립사건이므로 종류마다 나오는 경우의 수를 모두 곱합니다. 이제 배제했던 조건인 아무것도 입지 않은 경우는 모든 종류에 대해 입지 않는다를 선택한 경우입니다. 따라서 최종적으로 나오는 경우의 수에서 1을 빼면 되죠. 그래서 답은 각 종류마다 (옷 또는 장신구 개수+1)를 모두 곱한 후 1을 빼면 됩니다.

소스 코드

언어 코드 시간
Python 3 코드(Github) / 코드(백준) 2020-04-02 16:41:55