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. 「日常训练」Brackets in Implications(Codeforces Round 306 Div.2 E)

    题意与分析 稍微复杂一些的思维题.反正这场全是思维题,就一道暴力水题(B).题解直接去看官方的,很详尽. 代码 #include <bits/stdc++.h> #define MP ma ...

  2. Qt 5 最新信号和槽连接方式以及Lambda表达式

    最近学习Qt,发现新大陆,这里做下记录. 主要内容就是原始Qt4的信号槽连接方式,以及Qt5新版的连接方式,还有件事简单演示一下lambda表达式的使用方式 代码如下 /* * 作者:张建伟 * 时间 ...

  3. Python 函数参数类型大全(非常全!!!)

    Python 函数参数类型大全(非常全!!!) 1.在python编写程序里面具有函数文档,它的主要作用是为了让别人可以更好的理解你的函数,所以这是一个好习惯,访问函数文档的方式是: MyFuncti ...

  4. javac 编译过程

    javac 编译过程     一.解析与填充符号表: 1.  语法.此法分析:          a) 语法分析:将源代码字符流转换为标记(Token:编译过程最小元素)集合.          b) ...

  5. 【WXS】简要介绍说明

    WXS(WeiXin Script)是小程序的一套脚本语言. WXS有二种写法: 1) 以<wxs>标签书写脚本: 语法: <wxs module="[String]&qu ...

  6. TensorFlow入门之MNIST最佳实践-深度学习

    在上一篇<TensorFlow入门之MNIST样例代码分析>中,我们讲解了如果来用一个三层全连接网络实现手写数字识别.但是在实际运用中我们需要更有效率,更加灵活的代码.在TensorFlo ...

  7. java线程一之创建线程、线程池以及多线程运行时间统计

    线程和进程的基本概念 进程和线程是动态的概念.         进程是 "执行中的程序",是一个动词,而程序是一个名词,进程运行中程序的"代码",而且还有自己的 ...

  8. Java语法基础课后作业

    1.动手动脑 运行它EnumTest.java,分析运行结果 s和t分别引用的是SMALL和LARGE,枚举类型不是原始数据类型,s和u的赋值方式不同,但结果一样,列出它的所有值:SMALL,MEDI ...

  9. 爬取CVPR 2018过程中遇到的坑

    爬取 CVPR 2018 过程中遇到的坑 使用语言及模块 语言: Python 3.6.6 模块: re requests lxml bs4 过程 一开始都挺顺利的,先获取到所有文章的链接再逐个爬取获 ...

  10. lintcode-32-最小子串覆盖

    最小子串覆盖 给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串. 注意事项 如果在source中没有这样的子串,返回"" ...