dfs求助!!!60分
查看原帖
dfs求助!!!60分
593595
_Aurore_楼主2022/3/29 18:07
#include<bits/stdc++.h>
using namespace std;
int things,bag,ans=pow(2,20);
int thing[1010];
bool r[1010];
void f(int cen){
	//if(cen>things) return ;
	//if(bag>ans) return ;
	for(int i=1;i<=things;i++){
		
		if(thing[i]<=bag&&r[i]==true){
			bag-=thing[i];
			r[i]=false;
			ans=min(bag,ans);
			f(cen+1);
			bag+=thing[i];
			r[i]=true;
		}
		//f(cen+1);
	}
}
int main(){
	cin>>bag>>things;
	for(int i=1;i<=things;i++){
		cin>>thing[i];
		r[i]=true;
	} 
	f(1);
	cout<<ans;
	return 0;
}
2022/3/29 18:07
加载中...