解题思路:
有条件的递归。若有陷阱,则到该点情况为零。
注意事项:
参考代码:
#include<iostream> #include<string.h> #include<algorithm> using namespace std; int main() { int n,m,i,j; cin>>n>>m; int a[m],f[n]; memset(f,-1,sizeof(f)); f[0]=1; f[1]=1; for(i=0;i<m;i++){ cin>>a[i]; f[a[i]-1]=0; } for(i=2;i<n;i++){ if(f[i]!=0)f[i]=f[i-1]+f[i-2]; } cout<<f[n-1]; return 0; }
0.0分
2 人评分