算法提高快乐司机

2022-06-28 19:03:02 浏览数 (1)

本文最后更新于 1163 天前,其中的信息可能已经有所发展或是发生改变。

代码语言:javascript复制
#include<iostream>
using namespace std;
int main(){
	int n,w;
	float arr[10010][3];
	cin>>n>>w;
	for(int i=0;i<n;i  ){
		cin>>arr[i][0]>>arr[i][1];
		arr[i][2]=arr[i][1]/arr[i][0];
	}
	for(int i=n-1;i>0;i--){
		for(int j=0;j<n;j  ){
			if(arr[j][2]<arr[j 1][2]){
				float temp=arr[j][0];
				arr[j][0]=arr[j 1][0];
				arr[j 1][0]=temp;
				
				temp=arr[j][1];
				arr[j][1]=arr[j 1][1];
				arr[j 1][1]=temp;
				
				temp=arr[j][2];
				arr[j][2]=arr[j 1][2];
				arr[j 1][2]=temp;
			}
		}
	}
	float sumw=0,val=0;int i=0;
	while(true){
		if(sumw arr[i][0]<=w){
			sumw =arr[i][0];
			val =arr[i][1];
		}
		else{
			val =arr[i][2]*(w-sumw);
			float answer=int(val*10 0.5)/10.0;
			cout<<answer;
			return 0;
		}
		i  ;
	}
	return 0;
}

Post Views: 196

0 人点赞