这题不能用搜索做么.......,2 ,3 TLE
  • 板块P2415 集合求和
  • 楼主caikun
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/12/25 17:14
  • 上次更新2023/10/24 06:39:06
查看原帖
这题不能用搜索做么.......,2 ,3 TLE
741592
caikun楼主2022/12/25 17:14
#include<iostream>
#include<vector>
using namespace std;

const int N = 30 + 5;
int nums[N], t = 0;
long long sum = 0;
vector<long long> path;

void dfs(int num[], int startIndex) {
	//收集结果
	for(int i=0;i<path.size();i++) sum+=path[i];
	//终止条件
	if (startIndex >= t) return;
	//依次遍历每个元素
	for (int i = startIndex; i < t; i++) {
		path.push_back(num[i]);
		//递归进入下一层
		dfs(num, i + 1);
		//回溯
		path.pop_back();
	}
}

int main()
{
	while (cin >> nums[t++]);
	t--;
	dfs(nums, 0);
	cout << sum;
	return 0;
}
2022/12/25 17:14
加载中...