社区讨论
真想不出什么问题
P2240【深基12.例1】部分背包问题参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lu7pt8p2
- 此快照首次捕获于
- 2024/03/26 09:45 2 年前
- 此快照最后确认于
- 2024/03/26 10:22 2 年前
CPP
#include<iostream>
#include<vector>
#include<iomanip>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int n,t,m[101],v[101];
double a[101];
int main()
{
cin>>n>>t;
for(int i=0;i<n;i++)
{
cin>>m[i]>>v[i];
a[i]=v[i]*1.0/m[i];
}
// for(int i=0;i<n;i++)
// {
// cout<<a[i]<<" ";
// }
// cout<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<=n-1-i;j++)
{
if(a[j]<a[j+1])
{
swap(a[j],a[j-1]);
swap(v[j],v[j-1]);
swap(m[j],m[j-1]);
}
}
}
// for(int i=0;i<n;i++)
// {
// cout<<m[i]<<" ";
// }
// cout<<endl;
// for(int i=0;i<n;i++)
// {
// cout<<a[i]<<" ";
// }
double sum=0;
int k=0;
int j=0;
while(j<n-1)
{
for(int i=0;i<m[j];i++)
if(k<t)
{
sum+=a[j];
k++;
}
j++;
}
//cout<<fixed<<setprecision(2)<<sum;
printf("%.2lf",sum);
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...