这数据范围dfs减枝能过吗
查看原帖
这数据范围dfs减枝能过吗
302898
出羽千凛楼主2023/10/30 01:50
#include <bits/stdc++.h>

using namespace std;
int n,f[110],s[100100],ans;
void dfs(int a,int b,int t){
	if(t==n+1)return;
	s[abs(a-b)]=1;
	dfs(a+f[t+1],b,t+1);
	dfs(a,b+f[t+1],t+1);
	dfs(a,b,t+1);
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>f[i];
	dfs(0,0,0);
	for(int i=1;i<=100000;i++){
		if(s[i])ans++;
	}
	cout<<ans;
    return 0;
}


纯暴力,敲出来之后不出意外tle了,只拿到50,然后去想dp思路了
2023/10/30 01:50
加载中...