有没有会剪枝的
查看原帖
有没有会剪枝的
1165114
zs_onepice楼主2024/9/23 19:41
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e4+10;
int n,x,lose[N],win[N],use[N],ans;
void dfs(int num,int med,int xp){
	if(num==0){
		ans=max(ans,xp);
		return;
	}
	if(med>=use[n-num+1]){
		dfs(num-1,med-use[n-num+1],xp+win[n-num+1]);
		dfs(num-1,med,xp+lose[n-num+1]);
	}
	else{
		dfs(num-1,med,xp+lose[n-num+1]);
	}
}
signed main(){
//	freopen("P1802_2.in","r",stdin);
//	freopen("P1802_2.out","w",stdout);
	cin>>n>>x;
	for(int i=1;i<=n;i++){
		cin>>lose[i]>>win[i]>>use[i];
	}
	dfs(n,x,0);
	cout<<ans*5;
	return 0;
}
2024/9/23 19:41
加载中...