前言
简单问题,写的不好,大佬见谅.
如有疏漏,恳请指正,小编垂首.
问题描述:
从n个数中选择K个数的和为sum,其中,n个数,k,sum,由键盘输入
问题解析:
深度搜索树
实现代码:
代码如下(示例):
使用vector
#include<iostream>
#include<stack>
#include<vector>
using namespace std;
int n, k, sum;
vector<int> a;
stack<int> ans;
void dfs(int s, vector<int>::iterator it, int cnt) {
//当前累加数,指针,累加的数子个数
if (s > sum || cnt > k) {
//越界回溯
return;
}
if (cnt == k && s == sum) {
//搜索成功
while (!ans.