#include <bits/stdc++.h>
using namespace std;
void init(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
}
int n, m;
int arr[45];
long long dp[45] = {1,1,2,3};
int main(){
init();
cin >> n >> m;
for(int i = 4; i <= n; ++i) dp[i] = dp[i-1] + dp[i-2];
int idx = 1, ans = 1;
while(m--){
int vip;
cin >> vip;
ans *= dp[vip - idx];
idx = vip + 1;
}
ans *= dp[(n+1) - idx];
cout << ans;
return 0;
}
문제를 풀며
DP문제는 고민 시간을 30분 넘으면 답을 보기로 하고 문제를 푼다. 이 문제도 딱 30분이 되었을 때 답을 봤다.
왜 저 아이디어를 생각 못했을까 싶다. 하지만 못 푼 건 못 푼 거니깐 아이디어를 배운다는 마인드로 가자 화이텡