#include <bits/stdc++.h> using namespace std; map<int,int>a; int k=0; int dfs(int x,int n) { if(x>n) return 0; if(x==n){ k++; return 0; } if(x+1<=n&&a[x+1]){ dfs(x+1,n); } if(x+2<=n&&a[x+2]){ dfs(x+2,n); } } int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) a[i]=1; for(int i=0;i<m;i++){ int x; cin>>x; a[x]=0; } for(int i=1;i<n;i++){ if(a[i]==0&&a[i+1]==0){ cout<<0<<endl; return 0; } } dfs(1,n); cout<<k<<endl; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.7 (C++代码)(都说了scanf和gets一般不要混着用)浏览:1126 |
C语言训练-谁家孩子跑最慢* (C语言代码)浏览:1508 |
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:997 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题9.1 (Java代码)浏览:471 |
简单的a+b (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:685 |
本人酷爱递归实现很多问题,这里也是浏览:556 |
1126题解浏览:594 |
核桃的数量 (C语言代码)浏览:872 |