TLE
  • 板块P2415 集合求和
  • 楼主源光
  • 当前回复1
  • 已保存回复1
  • 发布时间2020/11/14 17:50
  • 上次更新2023/11/5 08:04:12
查看原帖
TLE
301793
源光楼主2020/11/14 17:50
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int n,g[40];
long long ans;
void dfs(int i,int k,int sum){
	if(i==n+1 && k!=0)return ;
	if(k==0){
		ans+=sum;
		return ;
	}
	if(k>=n-i)dfs(i+1,k,sum);
	dfs(i+1,k-1,sum+g[i]);
}
int main(){
	while(cin>>g[++n]);n--;
	for(int i=1;i<=n;i++)dfs(1,i,0);
	cout<<ans;
	return 0;
}

所以只能用数学方法?

2020/11/14 17:50
加载中...