解题思路: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 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:566 |
C二级辅导-统计字符 (C语言代码)浏览:751 |
C语言训练-求具有abcd=(ab+cd)2性质的四位数 (C语言代码)浏览:1374 |
校门外的树 (C语言代码)浏览:718 |
【回文数(二)】 (C语言代码)浏览:873 |
C语言训练-角谷猜想 (C语言代码)浏览:1719 |
A+B for Input-Output Practice (VI) (C++代码)浏览:418 |
P1001 (C语言代码)浏览:803 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:800 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:712 |