[백준9095] 1, 2, 3 더해서 숫자를 표현하는 방법의 수 (C++)
#include <iostream>
using namespace std;
int go(int);
int n[12] = { 0 };
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t; cin >> t;
while (t--) {
int n; cin >> n;
cout << go(n)<<'\n';
}
return 0;
}
int go(int x) {
n[0] = 1; n[1] = 1; n[2] = 2;
if (n[x])
return n[x];
n[x] = go(x - 1) + go(x - 2) + go(x - 3);
return n[x];
}
다음의 점화식이 핵심이다.
n[x] = go(x - 1) + go(x - 2) + go(x - 3);
Author And Source
이 문제에 관하여([백준9095] 1, 2, 3 더해서 숫자를 표현하는 방법의 수 (C++)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoohoo030/백준9095-1-2-3-더해서-숫자를-표현하는-방법의-수-C저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)