선물전달
https://www.acmicpc.net/problem/1947
풀이
완전 순열의 개념을 알아야함
완전 순열 : n명의 사람이 자신의 모자를 벗어두었다가,
다시 쓰는데 모든 사람이 자기의 것이 아닌 모자를 쓰는 경우의 수
d[i]
i 명이 선물을 나누는 경우의 수
a1 a2 a4 a4 …. aj … ai
aj가 i 선물을, ai가 j 선물을 가지는 경우
나머지 i-2 명이 선물을 나눠 가지면 된다 => d[i-2]
그리고 aj는 ai를 제외한 명 수중 한 명 이므로 i-1
aj가 i 선물을 가지고, ai가 j 선물으 가지지 않는 경우
aj를 제외한 나머지 i-1명이 선물을 나눠 가지면 된다. => d[i-1]
그리고 aj는 ai를 제외한 명 수중 한 명 이므로 i-1
그런데, 계속해서 런타임 에러가 발생했음
- 문제
반복문 밖에서 초기화하면 런타임 에러가 뜸.d[2]를 초기화할 때, 반복문 안에서 조건을 걸어서 하지 않고,
- 해결
반복문 안에서 초기화
- 문제