题解 | #[NOIP2001]装箱问题#
[NOIP2001]装箱问题
https://www.nowcoder.com/practice/55100a6608ad4656849dbd1f16d044cb
使用先序遍历:
#include<bits/stdc++.h>
using namespace std;
int v,n;
vector<int>volum(1010);
int find(int i,int j){
if(j>v)
return 0;
if(i>=n)
return j;
return max(find(i+1,j),find(i+1,j+volum[i]));
}
int main(){
ios::sync_with_stdio(false), cin.tie(nullptr),cout.tie(nullptr);
cin >> v;
cin >> n;
for(int i = 0;i < n;++i){
cin >> volum[i];
}
cout<<v-find(0,0);
return 0;
}

