아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

상근이의 자물쇠

시간 제한1초메모리 제한128 MB

요약
노드 N개를 가진 높이 균형 이진 트리의 모양 가짓수를 세어 마지막 9자리를 9자리로 채워 출력한다.
난이도

보통10점 중 6점

유형
동적 계획법, 재귀, 조합론
정답자
아직 제출이 없습니다

문제

어떤 자물쇠는 9자리 숫자를 비밀번호로 사용한다. 자물쇠를 만지면 LED 디스플레이에 정수 하나 NN이 나타난다. 아래 조건을 만족하는 트리의 개수를 구한 뒤, 그 값의 마지막 9자리를 입력하면 자물쇠가 열린다.

노드가 NN개인 이진 트리를 생각하자. 이 트리의 모든 노드에 대해, 그 노드의 왼쪽 서브트리와 오른쪽 서브트리의 높이 차이가 11 이하여야 한다. 서브트리의 높이란 그 서브트리의 루트에서 리프 노드까지 이르는 경로의 길이 중 가장 긴 값이다. 노드가 하나뿐인 서브트리의 높이는 00이고, 노드가 하나도 없는(비어 있는) 서브트리의 높이는 −1-1이다.

서로 다른 트리의 모양이 몇 개인지 세면 된다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 정수 NN 하나로 이루어지며, 1≤N≤14271 \le N \le 1427이다. 입력은 파일의 끝까지 계속된다.

출력

각 테스트 케이스마다, 주어진 NN에 해당하는 트리의 개수의 마지막 9자리를 한 줄에 출력한다. 자릿수가 9자리에 미치지 못하면 앞을 00으로 채워 정확히 9자리가 되도록 출력한다.

예제1

  1. 예제 1

    입력
    1
    3
    6
    21
    
    예상 출력
    000000001
    000000001
    000000004
    000036900