1070milk
总体思路是 先找出每一瓶牛奶的有效天数是多少 例如 500 就是 两天 ,1000 就是 五天 10000有效牛奶量1000 也就是五天
然后判断那个有效天数所对应的价格最低
ps 里面涉及到除法 所以用double保存 除非要取整数部分 就不用
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext())
{
int t = sc.nextInt();
while (t > 0)
{
int num = sc.nextInt();
String name[] = new String[num];
int val[][] = new int[num][3];
double compare [] = new double[num];
int temp = 0;
for (int i = 0; i < num; i++)
{
name[temp] = sc.next();
val[temp][0] = sc.nextInt();// money9
val[temp][1] = sc.nextInt();// ml
//值要大于200 才是有效值
if (val[temp][1] >= 200)
{
//有效天数
val[temp][2] = val[temp][1] / 200;// day
if (val[temp][2] >= 6) {
val[temp][2] = 5;
}
compare[temp] = (val[temp][0]*1.0 / val[temp][2]);//compare
temp++;
}
}
//double 类型数之间的比较
int p = 0;
double flag = compare[0];
for (int i = 1; i < temp; i++)
{
if (flag - compare[i] > 1e-6){
p = i ;
flag = compare[i];
}
else if(compare[i] - flag > 1e-6) {}
else if (Math.abs(flag - compare[i]) <= 1e-6)
{
if (val[p][1] < val[i][1])
{
p = i;
}
}
}
System.out.println(name[p]);
t--;
}
}
}
}