글 작성자: 개발섭

안녕하세요. 이번에 풀어볼 문제는 2N 타일링 2입니다. 다이나믹 프로그래밍 문제입니다. 

이문제는 참고해서 풀었기 때문에, 코드만 적어 놓도록 하겠습니다. 

차후에 다시 한번 더 풀어보고 해설을 올리겠습니다.

 

/** 2020. 2. 22. 오후 8:03:38
 * @author ventulus95
 */
package codeBaekJoon;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class No11727_2nTitle {
	
	static int cache[] = new int [1001]; 

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		cache[1] = 1;
		cache[2] = 3;
		for(int i= 3; i<=1000; i++){
			cache[i] = (cache[i-1] + cache[i-2]*2 ) % 10007;
		}
		System.out.print(cache[n]);
	}

}