Milk

点我挑战题目

题意分析

每组测试数据给出一系列牛奶商品,分别是牛奶的品牌,价格,以及体积。在读取数据的时候,体积在200以下的牛奶直接忽略掉。并且每天要喝200ML的牛奶。但是无论牛奶体积有多么大,牛奶最多喝5天,也就是说每盒牛奶最多喝1000ml,当牛奶的体积不为200整数倍的时候,多余的直接扔掉不喝。现在编写程序挑选出最便宜的牛奶。

贪心策略。

最便宜的就是价钱最低,当然要计算平均某量所花的钱。这个量是平均每体积还是平均每天呢?当然是平均每天。因为如果体积大于1000ml多余的部分是不喝的,尽管单位体积再便宜,实际喝掉的也就是1000ml。当然可以理解为平均有效体积所花的钱。最简单的方法就是每盒牛奶所花的钱/这盒牛奶所能喝的天数,按照升序排列后,输出第一项即可。注意排序时,若价钱相等,则体积大的在前面。

代码总览

/*
Title:HDOJ.1070
Author:pengwill
Date:2016-11-24
*/
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define max 110
using namespace std;
struct milk{
char name[max];
//int price;
int v;
int day;
double rate;
}item[max];
bool cmp(milk a, milk b)
{
if(a.rate < b.rate){
return true;
}else if(a.rate == b.rate){
if(a.v>b.v){
return true;
}else{
return false;
}
}else{
return false;
} } int main()
{
//freopen("in.txt","r",stdin);
char tname[max];
int tprice;
int tv;
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
int i;
for(i = 0;i<n;i++){
scanf("%s %d %d",tname,&tprice,&tv);
//item[i].price = tprice;
if(tv<200){
n--;
i--;
continue;
}else if(tv>=1000){
strcpy(item[i].name,tname);
item[i].v = tv;
item[i].day = 5;
item[i].rate = 1.0 * tprice / 5;
// break;
}else {
strcpy(item[i].name,tname);
item[i].v = tv;
item[i].day = tv / 200;
item[i].rate = 1.0 * tprice / item[i].day;
// break;
} //}
}
sort(item,item+n,cmp);
printf("%s\n",item[0].name); }
return 0;
}

HDOJ.1070 Milk(贪心)的更多相关文章

  1. hdu 1070 Milk(贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1070 Milk Time Limit: 2000/1000 MS (Java/Others)    M ...

  2. HDOJ 1070 Milk(水题,考英文的)

    Problem Description Ignatius drinks milk everyday, now he is in the supermarket and he wants to choo ...

  3. hdoj 1257 DP||贪心

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  4. HDU 1070 Milk (模拟)

    题目链接 Problem Description Ignatius drinks milk everyday, now he is in the supermarket and he wants to ...

  5. 洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心)

    题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是 ...

  6. HDU 1070 - Milk

    给每种牛奶价格和量 要求买最便宜的牛奶 #include <iostream> using namespace std; int t,n; ][]; ],v[]; int main() { ...

  7. PAT甲级题分类汇编——杂项

    本文为PAT甲级分类汇编系列文章. 集合.散列.数学.算法,这几类的题目都比较少,放到一起讲. 题号 标题 分数 大意 类型 1063 Set Similarity 25 集合相似度 集合 1067 ...

  8. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. 贪心 HDOJ 4726 Kia's Calculation

    题目传送门 /* 这题交给队友做,做了一个多小时,全排列,RE数组越界,赛后发现读题读错了,囧! 贪心:先确定最高位的数字,然后用贪心的方法,越高位数字越大 注意:1. Both A and B wi ...

随机推荐

  1. 多台服务器下同步文件夹数据(rsync+inotify)

    网上有很多讲解rsync+inotify的教程,我就先贴出一个来大家去看吧,基本都是类似的. http://www.jb51.net/article/57011.htm 我就强调几点,按照上面的方法配 ...

  2. CentOS 7.2静默安装Oracle11g

      Preface       Today I'm gonna export some test data to another server.The source server is Windows ...

  3. 通过批处理命令for提取数据

    前两天有这么个小需求: 在cmd中运行某测试工具后,会返回一个json结果,其中有一个参数的值每次都变且经常要用,正常情况复制粘贴就好了,但这个值非常长,配上cmd的标记+粘贴的行为,就很酸爽了.然后 ...

  4. 用python读取配置文件config.ini

    还在学习中...写的有点凌乱 感觉还是应该先学会读取配置文件才行,把一些经常需要修改的但是又经常需要用到的参数放到配置文件中方便使用(我是这么觉得的) 首先是config.ini的存放位置,我们把它放 ...

  5. 第一模块·开发基础-第1章 Python基础语法

    Python开发工具课前预习 01 Python全栈开发课程介绍1 02 Python全栈开发课程介绍2 03 Python全栈开发课程介绍3 04 编程语言介绍(一) 05 编程语言介绍(二)机器语 ...

  6. 375. Clone Binary Tree【LintCode java】

    Description For the given binary tree, return a deep copy of it. Example Given a binary tree: 1 / \ ...

  7. 用 splice 函数分别实现 push、pop、shift、unshift 的方法

    主要需要注意的是不同方法他们本身返回的值应该是什么,是数组当前的长度,还是取出的元素的值,再在splice函数里面进行相应的return就可以了.具体如下: 用 splice函数实现 push方法 f ...

  8. [CH0304]IncDec Sequence

    和NOIP2018DAY1T1类似的题目,但思维难度高多了. 这题既可以抬高路面,也可以降低路面,而且目标平面不确定,就难起来了. 但是两道题的基本思路几乎一样,同样我们将 2~n 的高度差分,1之所 ...

  9. DeepLearning Intro - sigmoid and shallow NN

    This is a series of Machine Learning summary note. I will combine the deep learning book with the de ...

  10. Python3 Tkinter-Menu

    1.创建 from tkinter import * root=Tk() menubar=Menu(root) def hello(): print('Hello Menu!') for item i ...