dfs求调
查看原帖
dfs求调
1038710
AutumnQ楼主2024/4/28 21:22

RT,教练非叫我写搜索(不写DP),然后挂了

#include<bits/stdc++.h>
using namespace std;
int money[300];
int a[210];
int nn,m;
int maxlong=-0x3f3f3f3f;
void search(int k,int n,int x){
	if(n==0 || k==0){
		
		return;
	}
	maxlong=max(x,maxlong);
	for(int i=n;i>=0;i--){
		x+=a[k]*i;
		n-=i;
		money[x]++;
		search(k-1,n,x);
		n+=i;
		x-=a[k]*i;
	}
}
int main(){
	cin>>nn>>m;
	for(int i=1;i<=m;i++)cin>>a[i];
	sort(a+1,a+1+m);
	search(m,nn,1);
	cout<<maxlong+1;
}
2024/4/28 21:22
加载中...