解题思路: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二级辅导-求偶数和 (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1420 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1094 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:904 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:476 |
1025题解浏览:738 |
杨辉三角 (C语言代码)浏览:484 |
蛇行矩阵 (C语言代码)浏览:504 |
P1002 (C语言代码)浏览:961 |