求助
查看原帖
求助
243441
DEXI楼主2020/9/4 10:36
#include<iostream>
#include<iomanip>
using namespace std;
struct{
	int m,v;
	double p;
}a[110]; 
void swap(int *a,int *b){
	int t=*a;
	*a=*b;
	*b=t;
}
void swap(double *a,double *b){
	double t;
	*a=*b;
	*b=t;
}
int main(){
	int N,T,i,j;
	double ans;
	cin>>N>>T;
	for(i=0;i<N;i++){
		cin>>a[i].m>>a[i].v;
		a[i].p=a[i].v/a[i].m; 
	}
	for(i=0;i<N-1;i++){
		for(j=i+1;j<N;j++){
			if(a[i].p<a[j].p){
				swap(&a[i].m,&a[j].m);
				swap(&a[i].v,&a[j].v);
				swap(&a[i].p,&a[j].p); 
			}
		}
	}
	for(i=0;i<N;i++){
		cout<<a[i].p<<"  ";
		if(a[i].m<T){
			ans+=a[i].v;
			T-=a[i].m;
		}
		else{
			ans+=T*a[i].p;
			break;
		}
	}
	cout<<fixed<<setprecision(2) << ans <<endl;
	return 0;
}

后面直接出现了乱码

2020/9/4 10:36
加载中...