문제 설명 및 풀이
증명
코드
import java.util.*; | |
import java.io.*; | |
/** | |
* https://www.acmicpc.net/problem/2133 | |
* BOJ 백준온라인져지 2133 타일 채우기 풀이 | |
*/ | |
public class Main { | |
private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); | |
public static void main(String args[]) throws IOException { | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
int N = Integer.parseInt(br.readLine()); | |
int dp[] = new int[N + 2]; | |
dp[0] = 1; | |
dp[2] = 3; | |
for (int i = 4; i <= N; i += 2) { | |
dp[i] = dp[i - 2] * 3; | |
for (int j = 4; j <= i; j += 2) { | |
dp[i] += dp[i - j] * 2; | |
} | |
} | |
bw.write(String.valueOf(dp[N])); | |
bw.flush(); | |
} | |
} |
문제
3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자.
입력
첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다.
출력
첫째 줄에 경우의 수를 출력한다.
예제 입력 1
2
예제 출력 1
3
힌트
아래 그림은 3×12 벽을 타일로 채운 예시이다.
'IT > 알고리즘' 카테고리의 다른 글
BOJ 백준온라인져지 1309 동물원 풀이 (0) | 2018.06.15 |
---|---|
BOJ 백준온라인져지 2003 수들의 합 2 풀이 (0) | 2018.06.15 |
BOJ 백준온라인져지 2902 KMP는 왜 KMP일까? 풀이 (0) | 2018.06.14 |
BOJ 백준온라인져지 2522 별 찍기 - 12 풀이 (0) | 2018.06.13 |
BOJ 백준온라인져지 10815 숫자 카드 풀이 (0) | 2018.06.12 |