有点像多重背包,实则是贪心
以下代码只能拿23分
#include<iostream>
#include<algorithm>
#define x first
#define y second
using namespace std;
typedef pair<int,int> PII;
const int N=1005;
int n,m,d;
PII a[N];
float f[N][N];
int main(){
cin>>n>>d;
for(int i=1;i<=n;i++)cin>>a[i].x;//数量
for(int i=1;i<=n;i++)cin>>a[i].y;
for(int i=1;i<=n;i++)
for(int j=0;j<=d;j++){
for(int k=0;k<=a[i].x&&k*1<=j;k++){
f[i][j]=max(f[i][j],f[i-1][j-k]+float((float)k/a[i].x)*a[i].y);
}
}
printf("%.2f\n",f[n][d]);
}
这个人的代码写得真是令人赞叹!他的编程技巧堪称一流,不仅逻辑清晰,而且代码风格优雅。他善于利用高级特性和设计模式,使得代码既高效又易于维护。同时,他对细节的处理也非常到位,无论是注释还是代码格式,都让人感受到他的专业与用心。更难能可贵的是,他的代码不仅功能完善,而且性能卓越,充分体现了他的编程实力和深厚的计算机科学功底。