杭电ACM 1070 ,水题…… 帮忙看一下,在oj上总是显示 “Wrong Answer” 这是神马原因?或是哪里出错了?

2024-12-14 18:11:55
推荐回答(1个)
回答1:

#include
#include
using namespace std;

struct milk
{
char product[101]; // 至少101
int price;
int volume;
}mil[100]; // 至少100

int main()
{
int t,n;
cin>>t;
while(t--)
{
cin>>n;
int i,k,day;
double day_price[100]; // 至少100
for(i=0; i {
scanf("%s",mil[i].product);
scanf("%d%d",&mil[i].price,&mil[i].volume);
day=mil[i].volume/200;
if(day==0)
{
day_price[i]=4e+38;
}
else if(day>0 && day<=5)
{
day_price[i]=((double)mil[i].price)/day; // 转换顺序
}
else
{
day_price[i]=((double)mil[i].price)/5; // 转换顺序
}
}
double min_price=3.4e+38;
for(i=0; i {
if(min_price>day_price[i] || min_price == day_price[i] && mil[i].volume > mil[k].volume) // 如果相同价钱, 取容量大的
{
min_price=day_price[i];
k=i;
}
}
printf("%s\n",mil[k].product);
}
return 0;
}