抽象DFS:k数和问题

简介: 抽象DFS:k数和问题

问题描述


给定N个整数,要求选出K个数,使得选出的K个数和为SUM


#include <iostream>
using namespace std;
int a[105];
int  n,k,sum;
int count;
void dfs(int w,int g,int s){
  if(w==n){                     //证明已经到达最后一个
    if(g==k && s==sum){
      count++;
    }
    return;
  }
  dfs(w+1,g,s);
  dfs(w+1,g+1,s+a[w]);
}
int main(){
  cin>>n>>k>>sum;
  for(int i=0;i<n;i++){
    cin>>a[i];
  }
  dfs(0,0,0);
  cout<<count;
  return 0;
} 

相关文章
|
2月前
|
算法 C++
P2404 自然数的拆分问题(DFS)
这篇文章提供了解决自然数拆分问题的深度优先搜索(DFS)算法,包括C++实现代码,用于输出一个自然数拆分为小于等于自身且按字典序排列的所有可能序列。
|
11月前
|
存储 算法 索引
【霍罗维兹数据结构】GRAPH 图 | 基本图运算 DFS&BFS | 最小代价生成树
【霍罗维兹数据结构】GRAPH 图 | 基本图运算 DFS&BFS | 最小代价生成树
102 0
|
机器学习/深度学习
抽象DFS:N皇后问题
抽象DFS:N皇后问题
|
机器学习/深度学习
抽象DFS:2N皇后
抽象DFS:2N皇后
|
定位技术
DFS:迷宫解的方案数
DFS:迷宫解的方案数