我嘯51期間去杭州游玩,順便比賽。
經過查詢,去杭州要坐十幾個小時的火車啊,身為巨巨的我嘯肯定不能虧待了自己,所以在去杭州之前準備采購一番,讓自己能舒舒服服的度過這十幾個小時,所以,我嘯來到了干果店,準備買一些干果到路上吃,干果店的標價有點特殊,xxx p q:代表xxx這種干果1塊錢可以買p (kg),當前庫存共有q (kg),我嘯因為經費不夠,不能任性,所以只能盡量買多一點干果。
多組輸入,第1行為兩個整數n c(0 <= n <= 100 , 0 <= c <= 10000 ),代表干果店中有n種干果,和我嘯一共帶了c元錢。
之后第2到第n+1行,每行為:
xxx p q(xxx為字符串,長度<=100,p,q為整數,q是p的整數倍,1 <= p <= 10 , 0 <= q <= 100 )
代表xxx這種干果1塊錢可以買p (kg),當前庫存共有q (kg)
每組數據輸出一行,能買到的最多的干果重量
2 10aaa 1 5bbb 2 23 10aaa 1 5bbb 2 10ccc 3 9Example Output
72101
#include<stdio.h> |
02 | #include<stdlib.h> |
03 | struct |
04 | { |
05 | char name[101]; |
06 | int p; |
07 | int q; |
08 | }t,kind[101]; |
09 | void main() |
10 | { |
11 | int n,c,i,j,sum; |
12 | while (~ scanf ( "%d%d" ,&n,&c)) |
13 | { |
14 | sum=0; |
15 | for (i=0;i<n;i++) |
16 | scanf ( "%s %d %d" ,kind[i].name,&kind[i].p,&kind[i].q); |
17 | for (i=0;i<n-1;i++) |
18 | { |
19 | for (j=0;j<n-i-1;j++) |
20 | { |
21 | if (kind[j].p<kind[j+1].p) |
22 | { |
23 | t=kind[j];kind[j]=kind[j+1];kind[j+1]=t; |
24 | } |
25 | } |
26 | } |
27 | for (i=0;i<n;i++) |
28 | { |
29 | if (c>(kind[i].q/kind[i].p)) |
30 | { |
31 | sum+=kind[i].q; |
32 | c=c-kind[i].q/kind[i].p; |
33 | } |
34 | else {sum=sum+c*kind[i].p; break ;} |
35 | } |
36 | printf ( "%d/n" ,sum); |
37 | } |
38 | } |
新聞熱點
疑難解答