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

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

알약

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

요약
약 N개를 사흘간 반씩 나눠 먹을 때 나올 수 있는 W와 H의 서로 다른 문자열 개수를 센다.
난이도

보통10점 중 6점

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

문제

박종수 할아버지는 매일 약을 반 알씩 먹는다. 손녀 선영이가 약이 N알 담긴 병을 선물로 드렸다.

첫째 날, 할아버지는 병에서 약을 하나 꺼낸다. 이 약은 온전한 한 알이므로 반으로 쪼개어 한 조각(반 알)을 먹고, 남은 반 조각은 다시 병에 넣는다.

둘째 날부터는 병에서 약을 하나 꺼내는데, 꺼낸 것이 온전한 한 알일 수도 있고 이미 쪼갠 반 조각일 수도 있다. 반 조각이면 그대로 먹고, 온전한 한 알이면 반으로 쪼개어 한 조각을 먹고 남은 반 조각을 다시 병에 넣는다.

할아버지는 온전한 한 알을 꺼낸 날에는 손녀에게 문자로 W를, 반 조각을 꺼낸 날에는 H를 보낸다. 선영이는 받은 문자를 순서대로 종이에 기록한다. 병을 다 비우기까지는 정확히 2N2N일이 걸리므로, 길이가 2N2N인 문자열이 하나 만들어진다.

약을 꺼내는 순서에 따라 서로 다른 문자열이 만들어질 수 있다. 만들어질 수 있는 서로 다른 문자열은 모두 몇 개인가?

입력

입력은 최대 1000개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄이며, 병에 담긴 약의 개수 NN (N≤30N \le 30)이 주어진다.

입력의 마지막 줄에는 0이 하나 주어지며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 만들어질 수 있는 서로 다른 문자열의 개수를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    6
    1
    4
    2
    3
    30
    0
    
    예상 출력
    132
    1
    14
    2
    5
    3814986502092304