답은 알고리즘 뿐이야!

[BOJ 9095] 1, 2, 3 더하기 본문

알고리즘/백준문제풀이

[BOJ 9095] 1, 2, 3 더하기

skyde47 2019. 10. 8. 01:26

문제 출처 : https://www.acmicpc.net/problem/9095

 

풀이 :

 

DP문제입니다.

1, 2, 3으로 새로운 방법을 만들 수 있는 경우는

i-1인 경우 : + '1'

i-2인 경우 : + '2'

i-3인 경우 : + '3'

이 세가지 경우 입니다.

따라서, cache[i] = cache[i-1]+cache[i-2]+cache[i-3]대로 쌓으면 됩니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
 
int t,n,cache[11];
 
int main()
{
    scanf("%d"&t);
    cache[1= 1, cache[2= 2,cache[3=4;
    for (int i = 4; i < 11; i++)cache[i] = cache[i - 1+ cache[i - 2+ cache[i - 3];
    while (t--
    {
        scanf("%d"&n);
        printf("%d\n", cache[n]);
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

'알고리즘 > 백준문제풀이' 카테고리의 다른 글

[BOJ 2644] 촌수계산  (0) 2019.12.08
[BOJ 8902] 색상의 길이  (0) 2019.11.25
[BOJ 17521] Byte Coin (ICPC 2019)  (0) 2019.10.07
[BOJ 16283] Farm (ICPC 2018)  (0) 2019.10.04
[BOJ 16287] Parcel (ICPC 2018)  (0) 2019.10.04
Comments