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

문제

코드

#include <iostream>
using namespace std;
int d[12];
int main()
{
    d[0]=1;
    d[1]=1;
    d[2]=2;
    int n;
    cin>>n;
    while(n--)
    {
        int input;
        cin>>input;
        for(int i=3;i<=input;i++)
        {   d[i]=d[i-3]+d[i-2]+d[i-1];
					}
        cout<<d[input]<<"\n";
    }
    return 0;
}

풀이

d[n]을 n이 1,2,3의 합으로 표현되는 개수로 두었다

예를들어 x + x ... + x + O = n 인겨우 O에 자리에 1,2,3이 올수 있으므로 [x+x...+x] = n - O

좋은 웹페이지 즐겨찾기