hdu-1070(水題)
阿新 • • 發佈:2018-10-07
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(水題)