原题内容:
牛奶
时间限制:2000/1000 MS(的Java /其他)内存限制:三万二千七百六十八分之六万五千五百三十六K(的Java /其他)共提交(S):13531接受投稿(S):3300
问题描述
伊格内修斯喝牛奶每天,他现在是在超市,他想选择一瓶牛奶。有许多种牛奶在超市,所以伊格想知道哪种奶粉是最便宜的。这里有一些规则:1。伊格内修斯绝不会喝它产生的6天前或更早的牛奶。这意味着,如果在牛奶生产的2005-1-1,依纳爵将2005-1-6(含)以后再也不喝这瓶2。伊格200毫升牛奶每天喝。3。如果留在瓶子里的牛奶少于200毫升,依纳爵将它扔掉。4。所有的牛 奶在超市刚生产至今。需要注意的是伊格只希望买一瓶牛奶,所以如果一个瓶子的容积比200毫升更小,你应该忽略它。由于牛奶的一些信息,你的任务是告诉伊格这牛奶是最便宜的。
输入
输入包含多个测试用例。输入的第一行是一个整数t内的测试用例的数量。T检验案例可循。
每个测试用例开始一个整数N(1 <= N <= 100),这是种牛奶的数量。随后N行跟进,每行包含一个字符串S(长度将最多100个字符),这表明牛奶的品牌,那么两个整数品牌为:P(元),这是一瓶的价格,V(毫升)这是一个瓶子的容积。
每个测试用例开始一个整数N(1 <= N <= 100),这是种牛奶的数量。随后N行跟进,每行包含一个字符串S(长度将最多100个字符),这表明牛奶的品牌,那么两个整数品牌为:P(元),这是一瓶的价格,V(毫升)这是一个瓶子的容积。
输出
对于每个测试用例,你应该输出的是最便宜的奶粉品牌。如果有多于一个的最便宜的品牌,你应该输出一个具有最大体积。
样例输入
2 2 伊利10 500 蒙牛20 1000 4 伊利10 500 蒙牛20 1000 光明1 199 盐排40万
样本输出
蒙牛 蒙牛提示在第一种情况下,伊利牛奶可以喝2天,它的成本10元。蒙牛牛奶可以喝5天,它的成本20元左右。所以,蒙牛是cheapest.In第二种情况下, 牛奶光明应该被忽略。盐排奶可以喝5天,但它的成本40元左右。所以,蒙牛是最便宜的。
本题思路:
先计算每种牛奶能够喝的天数;然后,求各个牛奶平均每天的的价格,然后按价格找取最小平均价格的牛奶,价格一样,
找牛奶量最多的,,,,,,,细节好多,,一不小心就娃了
本题代码;;
#包括<stdio.h中>
结构牛奶
{
字符的名字[1000];
INT P,V;
}牛奶[100000];
诠释的main()
{
INT T,I,标志,N;
scanf函数(“%D”,&N);
而(N--)
{
scanf函数(“%D”,&T);
双M = 0;
在(I = 0,我<T;对我有用)
{
scanf函数(“%s的%D%D”,牛奶[I]。名称,及牛奶[I] .P,与牛奶[I] .V);
INT CNT = 0;
如果(牛奶[I] .V <200)
继续;
而(1)
{
牛奶[I] .v- = 200;
CNT + +;
如果(CNT == 5)
打破;
如果(牛奶[I] .V <200)
打破;
}
双K =(双)CNT /乳[I] .P;
IF(K> = M)
{
IF(K> M)
{
M = K表;
标志= I;
}
如果(K == M)
{
如果(牛奶[I]。P <牛奶[标志] .P)
标志= I;
否则,如果(牛奶[I] .P ==牛奶[标志] .P)
{
如果(牛奶[I] .V>牛奶[标志] .V)
标志= I;
}
}
}
}
的printf(“%S \ N”,牛奶[标志]。名称);
}
返回0;
}
求得结果::::