题目
题解
动态规划或DFS。
这个题和最经典的递归、动态规划题,上台阶有啥区别。
没得讲。就这还提高组的题。。。。离谱。
代码
#include<bits/stdc++.h>
using namespace std;
const int N = 100;
int n, m, x, a[N], dp[N];
int main()
{
cin>>n>>m;
while(m--) { cin>>x; a[x] = 1;}
dp[0] = 0; dp[1] = 1;
for(int i = 2;i <= n;i ++)
dp[i] = (a[i-1]!=1?dp[i-1]:0) + (a[i-2]!=1?dp[i-2]:0);
cout << dp[n];
return 0;
}