P2240 【深基12.例1】部分背包问题
  • 板块题目总版
  • 楼主inkfox_exe
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/4 14:27
  • 上次更新2023/11/4 16:02:01
查看原帖
P2240 【深基12.例1】部分背包问题
1055698
inkfox_exe楼主2023/11/4 14:27

求助,只得了20分

#include<iostream>
using namespace std;
struct{
	double m,v;
}a[150];
int main(){
	long long n;
	double t,c[200],ans=0;
	cin>>n>>t;
	for(int i=1;i<=n;i++){
		cin>>a[i].m>>a[i].v;
		c[i]=a[i].v/a[i].m;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n-1;j++){
			if(c[j]<c[j+1]){
				swap(c[j],c[j+1]);
				swap(a[j].m,a[j+1].m);
				swap(a[j].v,a[j+1].v);
			}
		}
	}
	for(int i=1;i<=n;i++){
		if(t-a[i].m>=0){
			t=t-a[i].m;
			ans+=a[i].v;
		}
		else{
			break;
		}
	}
	printf("%.2lf",ans);
	return 0;
} 

这个金币分割是什么意思

2023/11/4 14:27
加载中...