超级玛丽

\(f(i) = f(i + 1) + f(i + 2) ,st[i] = 0;\\
f(i) = 0, st[i] = 1;\)
#include<iostream>
using namespace std;
const int N = 50;
int n, m;
int st[N], f[N];
int main(){
cin >> n >> m;
while(m --){
int t;
cin >> t;
st[t] = 1;
}
f[n] = 1;
for(int i = n - 1; i >= 0; i --){
f[i] = f[i + 1];
if(st[i]) f[i] = 0;
else if(i + 2 <= n) f[i] += f[i + 2];
}
cout << f[1];
}

浙公网安备 33010602011771号