dfs 0pts help!
查看原帖
dfs 0pts help!
1095806
Supa7onyz楼主2024/5/9 17:45
#include <iostream>
using namespace std;
struct pos{
	int time,num;
};
int t,m,ans=-1,vis[100]={0};
pos a[100];
void dfs(int times,int now,int tt){
	if (times>m||tt>=t){
		ans=max(ans,now);
		return;
	}
	for (int i=t;i>=1;i--){
		if (vis[i]==0){
			vis[i]=1;
			dfs(times+1,now+a[i].num,tt+a[i].time);
			vis[i]=0;
		}
	}
	return;
}
int main(){
	cin>>t>>m;
	for (int i=1;i<=m;i++){
		cin>>a[i].time>>a[i].num;
	}
	dfs(1,0,0);
	cout<<ans;
	return 0;
}
2024/5/9 17:45
加载中...