백준 동적계획법

[백준] 11727번 2×n 타일링 2 - Java 문제 출처 www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net ※ 풀이 동적프로그래밍(DP)을 활용하여 푸는 대표적인 유형이다. 이 문제도 2xn 문제 1번 과 유사하지만 2x2 블럭이 추가되었다. 마찬가지로 n번째 점화식을 세우기 위해 블럭의 수를 추론해보면 a[1]=1 a[2]=3 ... a[n] = a[n-1] + 2* a[n-2] 형태로 n-2 일때 * 2를 해야 하는 식이 나온다. (n-2일때 블럭이 n-1일때 들어가지 못하는 형태..
[백준] 2133번 타일 채우기 - Java 문제 출처 www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net ※ 풀이 이 문제 또한 2xn 타일 채우기와 유사한 문제이지만 높이가 3으로 늘어나서 난이도가 높아진 문제이다. 마찬가지로 동적계획법(DP)을 이용하여 점화식을 세워 풀어나가면 되지만 점화식을 세우는 과정에 생각해봐야 할 부분이 많다... 먼저 이 문제의 경우 홀수가 주어질 경우 타일을 끼워맞출 수 없다. 때문에 주어진 값이 홀수일 경우 계산하지 않고 0을 반환하도록 하였다. 짝수인 경우에는 다음과 같이 추론해볼 수 있다. a[2]=3 a[4]=11 ... a[n]=..
Chung-A
'백준 동적계획법' 태그의 글 목록