求助
查看原帖
求助
845703
adaldad楼主2023/4/7 22:02

dfs测试点5超时跑了3.2s但答案是对的

void dfs(int sum, int step, int last) {

if (step > need + 1)
	return ;
if (sum >= value && step == need + 1) {
	ans++;
	return ;
}
for (int i = last + 1; i <= n; i++) {
	if (vis[i] == 0) {
		vis[i] = 1;
		last = i;
		dp[step] = ch[i];
		dfs(sum + ch[i], step + 1, last);
		vis[i] = 0;
	}

}

}

2023/4/7 22:02
加载中...