https://www.acmicpc.net/problem/1010
[문제 접근]
이전에 놓은 다리가 다음에 놓을 다리의 경우의 수를 결정한다.
이전의 계산해둔 값을 이후에 써야하기 때문에 다이나믹 프로그래밍(DP)으로 접근해야 한다.
이중 배열인 DP[N][M]는 서쪽의 N번째 사이트를 동쪽의 M번째 사이트까지 연결할 때 가능한 경우의 수다.
즉 DP[1][1] = 1; DP[1][2] = 2; ... ; DP[1][M] = M;이다.
N=2 이후에 다리를 놓을 수 있는 갯수는 이전에 다리를 어디에 놓았냐에 따라 달라진다.
즉 하나 이전의 값(N-1)이 동쪽의 어떤 값을 선택(M)하느냐에 따라 이번에 놓을 수 있는 다리의 경우의 수가 정해지므로 DP[N][M] += DP[N-1][1~M-1]과 같다.
'백준 풀이' 카테고리의 다른 글
14503번: 로봇 청소기 (0) | 2021.12.13 |
---|---|
DP_2748 (0) | 2020.08.15 |
while_10951 (0) | 2020.08.14 |
_1002 (0) | 2020.08.12 |
_10871 (0) | 2020.08.11 |
댓글