void dfs(int s,int cnt,int pos)
{
....
...
for(int i=pos;i<=n;i++)
{
if(!xuan[i])
{
xuan[i]=true;
dfs(s+a[i],cnt+1,i+1);//i+1表示从上一次选取的位置后面开始选
xuan[i]=false;
}
}
}
从n个数中取出k个数使得和为s
最新推荐文章于 2021-05-22 14:28:19 发布