How We Coding

[1309] 동물원

BOJ/DP2018. 2. 1. 20:23

http://boj.kr/1309


d[n][k] : n번째 줄에 상태가 k일 때, n번째 줄까지 사자를 배치할 수 있는 경우의 수


- 소스코드


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
#include <stdio.h>
#define MOD 9901
 
int d[100001][3];
 
int go(int n, int k)
{
    int a, b;
    if(n == 0return 1;
    if(d[n][k]) return d[n][k];
 
    a = go(n-1, (k+1)%3);
    b = go(n-1, (k+2)%3);
    
    if(k == 0) a += go(n-10);
 
    return d[n][k] = (a+b)%MOD; 
}
 
int main()
{
    int n;
    scanf("%d"&n);
    printf("%d\n", go(n, 0));
    return 0;
}
cs


>> k = 0 인 경우는 둘 다 비워있는 상태.

>> k = 1 인 경우는 사자를 왼쪽에 배치, k = 2 인 경우는 사자를 오른쪽에 배치한 상태



'BOJ > DP' 카테고리의 다른 글

[2302] 극장 좌석  (0) 2018.02.05
[1937] 욕심쟁이 판다  (0) 2018.02.01
[1932] 숫자삼각형  (0) 2018.02.01
[1149] RGB 거리  (0) 2018.01.30
[1463] 1로 만들기  (0) 2018.01.26