티스토리 뷰
https://www.acmicpc.net/problem/2133
2133번: 타일 채우기
문제 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. 입력 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다. 출력 첫째 줄에 경우의 수를 출력한다. 예제 입력 1 복사 2 예제 출력 1 복사 3 힌트 아래 그림은 3×12 벽을 타일로 채운 예시이다....
www.acmicpc.net
#include<iostream>
using namespace std;
int d[31];
int dp(int n) {
	if (n == 0) return 1;
	if (n == 1) return 0;
	if (n == 2) return 3;
	if (d[n] != 0) return d[n];
	int result = 3 * dp(n - 2);
	for (int i = 3; i <= n; i++) {
		if (i % 2 == 0)
			result += 2 * dp(n - i);
	}
	return d[n] = result;
}
int main(void) {
	int n;
	cin >> n;
	cout << dp(n) << endl;
}'Algorithm > 유형별 : DP' 카테고리의 다른 글
| [C++] [DP] 백준 1932번 : 정수 삼각형 (0) | 2020.02.02 | 
|---|---|
| [C++] [DP] 백준 11727번 : 2xN 타일링 2 (0) | 2020.02.02 | 
| [C++] [DP] 백준 11725번 : 2xN 타일링 (0) | 2020.02.02 | 
| [C++] [DP] 백준 9095번 : 1, 2, 3 더하기 (0) | 2020.02.02 | 
                      공지사항
                      
                  
                
                  
                  
                    최근에 올라온 글
                    
                
                  
                  
                    최근에 달린 댓글
                    
                
                  
                  - Total
 
- Today
 
- Yesterday
 
                    링크
                    
                  
                
                  
                  
                    TAG
                    
                
                  
                  - Scott/Tiger
 - controller
 - 캡슐화
 - 객체지향
 - jdbc
 - Update
 - Oracle
 - ojdbc6.jar
 - JdbcTemplate
 - .
 - MVC
 - 다형성
 - view
 - model
 - java
 - 상속
 - INSERT
 - OOP
 - 객체
 - JDBC 프로그램 작성단계
 - 추상화
 - java 환경설정
 - Delete
 - select
 
| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                    글 보관함
                    
                
            