[백준/C++] 15988번_1, 2, 3 더하기 3

이수진·2022년 1월 30일
0
post-custom-banner

문제는 다음과 같습니다.

문제가 간단하니까 제가 푼 방법을 간단하게 설명하자면,
저는 정수 n을 1, 2, 3 의 합으로 나타내는 방법을 배열 a[n]에 저장하였고,
이를 bottom-up 방법으로 풀었습니다.

전체 코드는 다음과 같습니다.

#include <bits/stdc++.h>
using namespace std;

long long MOD = 1000000009;
long long a[1000001]={0, };

void func(void){
    a[1]=1; a[2]=2; a[3]=4;
    
    for(int i=4; i<=1000000; i++){
        a[i]=(a[i-1]+a[i-2]+a[i-3])%MOD;
    }
}


int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
    func();
    int t, n;
    cin>>t;
    for(int i=0; i<t; i++){
      cin>>n;
      cout<<a[n]<<"\n";
    }
    
    return 0;
}
profile
꾸준히, 열심히, 그리고 잘하자
post-custom-banner

0개의 댓글