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

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

도미노로 4 × n 직사각형 채우기

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

요약
너비 4, 길이 n인 직사각형을 도미노로 채우는 경우의 수를 세어 1000으로 나눈 나머지를 앞자리 0 없이 출력합니다.
난이도

보통10점 중 6점

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

문제

가로 1, 세로 2인 도미노 2n2n개가 있다. 여기서 nn은 10001000보다 작은 정수다. 이 도미노를 겹치지 않게 놓아 4×n4 \times n 직사각형을 빈틈없이 채울 수 있다. 그림 1은 도미노 12개로 4×64 \times 6 직사각형을 채운 모습이다.

그림 1: n=6n = 6인 예.

n>1n > 1이면 채우는 방법이 여러 가지다. 그림 2는 4×24 \times 2 직사각형을 채우는 5가지 방법을 모두 보여 준다.

그림 2: 4×24 \times 2 직사각형을 채우는 5가지 방법.

도미노 2n2n개로 4×n4 \times n 직사각형을 채우는 서로 다른 방법의 수를 RnR_n이라 하자. 그림 2에서 보듯 R2=5R_2 = 5다. nn이 작아도 RnR_n은 매우 커지므로, 구하는 값은 RnR_n의 마지막 세 자리, 즉 RnR_n을 10001000으로 나눈 나머지다.

입력

정수 nn이 한 줄에 주어진다. n<1000n < 1000임을 기억하라.

출력

RnR_n을 10001000으로 나눈 나머지를 앞에 00을 붙이지 않고 한 줄에 출력한다. 예를 들어 R17=26915305R_{17} = 26915305이므로 n=17n = 17이면 305305를 출력하고, R2=5R_2 = 5이므로 n=2n = 2이면 005005가 아니라 55를 출력한다. 나머지가 00이면 00 하나만 출력한다.

예제2

  1. 예제 1

    입력
    2
    
    예상 출력
    5
    
  2. 예제 2

    입력
    17
    
    예상 출력
    305