#错了你找我
by Jigsaw_Killer @ 2017-11-03 15:53:16
我自己随便造了一组你的都不对
2000 10
500 1 0
400 4 0
300 5 1
400 5 1
200 5 0
500 4 5
400 4 0
320 2 0
410 3 0
400 3 5
输出应该是7430 你的是5025
by Ch3lly @ 2017-11-03 16:31:25
@[麦克雷我老公](/space/show?uid=46335) 有毒吧,接下来每一行是两个数,你这是三个数。能输出7430算我输!
by HygoK67 @ 2017-12-23 16:12:29
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=100;
int n,m,maxk=0;
int v[maxn],p[maxn];
void DFS(int index,int sumv,int sumc){
if(index==m){
if(sumv<=n&&sumc>maxk){
maxk=sumc;
}
return;
}
DFS(index+1,sumv,sumc);
DFS(index+1,sumv+v[index],sumc+p[index]*v[index]);
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>v[i];
cin>>p[i];
}
DFS(0,0,0);
cout<<maxk;
by 眸°眸° Remnant @ 2018-04-03 21:21:43
代码和你的差不多,怎么就60
by 眸°眸° Remnant @ 2018-04-03 21:22:11