[http://online-judge.uva.es/p/v102/10247.html 원문보기] ---- 인기도:C(A,B,C), 성공률:보통(낮음,보통,높음), 레벨:2(1~4) === About [CompleteTreeLabeling] === ||Input||standard input|| ||Output||standard output|| ||Time Limit||45 seconds|| ||Memory Limit||32 MB|| 모든 잎(leaf)의 깊이가 같고 모든 내부 노드의 차수(degree)가 k인(즉 분기계수(branching factor)가 k인) 트리를 k진 완전 트리(complete k-ary tree)라고 한다. 그런 트리에 대해서는 노드의 개수를 쉽게 결정할 수 있다. k진 완전 트리의 깊이와 분기계수가 주어졌을 때 트리의 노드에 번호를 붙일 수 있는 모든 가능한 방법의 수를 결정해야 한다. 이때 각 노드의 레이블은 그 자손의 레이블보다 작아야 한다. 이진 힙 우선 순위 큐 자료 구조가 바로 이런 속성을 가진다(이진 트리이므로 k=2). N개의 노드가 있는 트리에 번호를 붙일 때, 1에서 N까지의 레이블을 붙일 수 있다고 가정하자. === Input === 입력 파일은 여러 줄로 구성된다. 각 줄에는 두 개의 정수 k와 d가 들어있다. k>0이며, 이 값은 k진 완전 트리의 분기계수를 나타낸다. d>0며, k진 완전 트리의 깊이를 나타낸다. k X d ≤21인 모든 k와 d에 대해 작동하는 프로그램을 만들어야 한다. === Output === 입력된 각 줄에 대해 한 줄의 결과를 출력한다. 그 줄에는 위에서 설명한 조건을 만족시키면서 k진 트리에 레이블을 붙이는 경우의 수를 출력한다. === Sample Input === {{{~cpp 2 2 10 1 }}} === Sample Output === {{{~cpp 80 3628800 }}} === 풀이 === || 작성자 || 사용언어 || 개발시간 || 코드 || || [조현태] || C || . || [CompleteTreeLabeling/조현태] || || [하기웅] || C++ || 1시간 30분 || [CompleteTreeLabeling/하기웅] || === 쓰레드 === 으아 너무어려워 ㅠㅠ ---- [문제분류] [AOI]