https://programmers.co.kr/learn/courses/30/lessons/12945#
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
vector<vector<int>> num(n, vector<int>(2, 0)); // 몫, 나머지
num[0][0] = 0;
num[0][1] = 1;
num[1][0] = 0;
num[1][1] = 1;
for(int i=2;i<n;i++){
num[i][1] = num[i-2][1] + num[i-1][1];
num[i][0] = num[i-2][0] + num[i-1][0] + num[i][1]/1234567;
num[i][1] %= 1234567;
}
return num[n-1][1];
}
long long fibonacci(int n)
{
int i;
long long dp[1000];
dp[0]=0;
dp[1]=1;
for(i=2; i<=n; i++)
{
dp[i]=dp[i-1]+dp[i-2];
}
return dp[n];
}
int main()
{
int testCase = 10;
long long testAnswer = fibonacci(testCase);
cout<<testAnswer;
}