解题思路:
注意事项:
参考代码:
#include <stdio.h>
int dp[50];//dp[i]表示到位置i的方案数
int die[50];//存放陷阱位置
int IsDie(int x){
int i=1;
while(die[i]){
if(x==die[i])
return 1;
i++;
}return 0;
}
int main(){
int n,m,i,j;
scanf("%d %d",&n,&m);
dp[1]=1;
for(i=1;i<=m;i++) scanf("%d",&die[i]);
for(i=2;i<=n;i++){
if(IsDie(i))
continue;
else
dp[i]=dp[i-1]+dp[i-2];
}
printf("%d\n",dp[n]);
return 0;
}
0.0分
0 人评分