1. 程式人生 > >hdu-1070(水題)

hdu-1070(水題)

ble int push space end using %d 輸出 ont

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1070

題意:一個人喝牛奶,有三個原則:

1、牛奶的日期不超過6天,就是最多5天。

2、每次只喝200ml,所以只要有低於200的牛奶就舍棄

3、每天就喝200ml;

超市每天賣當天生產的牛奶。

輸出:輸出性價比最高的牛奶,如果有性價比相同的,就輸出容積最大的(所以需要記錄牛奶原來的容積,這裏一直錯了3次)

#include<iostream>
#include<cstdio>
#include<string> 
#include<vector>
#include
<algorithm> using namespace std; struct Node{ string name; int price,vol,v; double w; }; bool cmp(Node a,Node b) { if(a.w!=b.w) return a.w>b.w; else return a.v>b.v; } vector <Node> vc; int main(void) { int n,p,v,t; string str; Node tmp; scanf(
"%d",&t); while(t--) { scanf("%d",&n); vc.clear(); while(n--) { cin>>str>>p>>v; if(v<200) continue; tmp.name=str; tmp.v=v; tmp.vol=(v>=1000?5:v/200)*200; tmp.price=p; tmp.w
=1.0*tmp.vol/tmp.price; vc.push_back(tmp); } sort(vc.begin(),vc.end(),cmp); cout<<vc[0].name<<endl; } return 0; }

hdu-1070(水題)