#王道机试指南第二版第119页题目FatMouse# 那我也记录一下,欢迎大家给出建议!!!#include <iostream>(5488)#include <cstdio>#include <algorithm>using namespace std;struct W_VS_P {float w_vs_p;int weight;int price;}num[1000];bool compare(W_VS_P a,W_VS_P b) {return a.w_vs_p>b.w_vs_p;}int main() {int M, N;float count = 0,J[1000] = { 0 }, F[1000] = { 0 };while (cin>>M>>N){if (M==-1 && N==-1) {break;}for (int i = 0; i < N; i++) {cin >> J[i] >> F[i];num[i].w_vs_p = J[i] / F[i];num[i].weight = J[i];num[i].price = F[i];}sort(num,num+N,compare);for (int j = 0; j < N; j++) {if (M > num[j].price) {M -= num[j].price;count += num[j].weight;}else if(M>0&&M<num[j].price){count+=M* (num[j].w_vs_p);break;}}printf("%.3f",count);}}