解题思路:dfs 注意是到N才算结束条件 超过N就回溯
注意事项:
参考代码:
#include<iostream>
using namespace std;
int a[50];
int n, m;
int num = 0;
void dfs(int x)
{
if(x > n){
return ;
}
else
if(x == n){
num++;
}
else{
for(int i = 1; i < 3; i++){
if(a[x+i] != 1){
dfs(x+i);
}
}
}
}
int main()
{
cin >> n>> m;
int p;
for(int i = 0; i < m; i++){
cin >> p;
a[p] = 1;
}
dfs(1);
cout << num;
return 0;
}
0.0分
0 人评分