#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 人评分
printf基础练习2 (C语言代码)浏览:503 |
DNA (C语言代码)浏览:735 |
勾股数 (C语言代码)浏览:799 |
格式化数据输出 (C语言代码)浏览:811 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:762 |
C二级辅导-分段函数 (C语言代码)浏览:739 |
C二级辅导-公约公倍 (C语言代码)浏览:1310 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:479 |
多组数据新方法浏览:355 |
1224题解浏览:475 |