纯暴力,求个优化思路
查看原帖
纯暴力,求个优化思路
677422
Tongyq0722楼主2023/8/22 21:15

直接枚举所有情况,即每个愿望选择做或是不做,拿了60分

代码很短,有看不懂的地方可以问我 orz

#include<iostream>
using namespace std;
int n,m,t,maxn;
int mi[101],ti[101];
void one(int l,int mo,int tm,int c){
	if(l==n+1){
		maxn=max(maxn,c);
		return ;
	}
	if(mo+mi[l]<=m&&tm+ti[l]<=t)
		one(l+1,mo+mi[l],tm+ti[l],c+1);
	else maxn=max(maxn,c);
	one(l+1,mo,tm,c);
}
int main()
{
	scanf("%d%d%d",&n,&m,&t);
	for(int i=1;i<=n;i++)
		scanf("%d%d",&mi[i],&ti[i]);
	one(1,0,0,0);
	printf("%d",maxn);
	return 0;
}
2023/8/22 21:15
加载中...