dfs应用:洛谷P1025——数的划分
程序员文章站
2022-07-13 11:10:13
...
dfs的再应用
代码如下
#include<bits/stdc++.h>
using namespace std;
int ans;
void dfs(int a,int b,int c)//a:递归次数 b:搜索树当前需要减去的数字c:减去后剩下的数
{
if(a==1){
ans++;
return;
}
for(int i=b;i<=c/a;i++)//c/a是为了防止不够减的情况发生
{
dfs(a-1,i,c-i);
}
}
int main(){
int m,n;
cin>>m>>n;
dfs(n,1,m);
cout<<ans<<endl;
}
运行模拟结果如下,可得一颗搜索树。