HDOJ.1070 Milk(贪心)
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(贪心)的更多相关文章
- hdu 1070 Milk(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1070 Milk Time Limit: 2000/1000 MS (Java/Others) M ...
- HDOJ 1070 Milk(水题,考英文的)
Problem Description Ignatius drinks milk everyday, now he is in the supermarket and he wants to choo ...
- hdoj 1257 DP||贪心
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- HDU 1070 Milk (模拟)
题目链接 Problem Description Ignatius drinks milk everyday, now he is in the supermarket and he wants to ...
- 洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心)
题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是 ...
- HDU 1070 - Milk
给每种牛奶价格和量 要求买最便宜的牛奶 #include <iostream> using namespace std; int t,n; ][]; ],v[]; int main() { ...
- PAT甲级题分类汇编——杂项
本文为PAT甲级分类汇编系列文章. 集合.散列.数学.算法,这几类的题目都比较少,放到一起讲. 题号 标题 分数 大意 类型 1063 Set Similarity 25 集合相似度 集合 1067 ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 贪心 HDOJ 4726 Kia's Calculation
题目传送门 /* 这题交给队友做,做了一个多小时,全排列,RE数组越界,赛后发现读题读错了,囧! 贪心:先确定最高位的数字,然后用贪心的方法,越高位数字越大 注意:1. Both A and B wi ...
随机推荐
- Selenium(Python) ddt读取Excel文件数据驱动
首先, 引入xlrd模块: ExcelDDT.py: import unittestfrom time import sleep from ddt import ddt, datafrom selen ...
- cronolog:日志分割工具
一. 引言 因为tomcat的catalina.out日志无法按照日期自动创建,因此采用cronnlog分割. 二. 安装与配置 1.安装cronolog: yum install -y cronol ...
- Machine Learning笔记整理 ------ (四)线性模型
1. 线性模型 基本形式:给定由d个属性描述的样本 x = (x1; x2; ......; xd),其中,xi是x在第i个属性上的取值,则有: f(x) = w1x1 + w2x2 + ...... ...
- 1.linux环境配置
首先说一下,这里是虚拟机环境. 1.用vbox安装centos6.8-mini 注意不要使用复制的方式安装,复制的虚拟机网络不通 安装如下: 主机 ip 角色 内存 hadoop1 192.168.0 ...
- Fluent Python: Mutable Types as Parameter Defaults: Bad Idea
在Fluent Python一书第八章有一个示例,未看书以先很难理解这个示例运行的结果,我们先看结果,然后再分析问题原因: 定义了如下Bus类: class Bus: def __init__(sel ...
- POJ 1696 Space Ant(凸包变形)
Description The most exciting space discovery occurred at the end of the 20th century. In 1999, scie ...
- Nodejs第一天-{Nodejs基础 深刻理解浏览器 环境变量 基础语法}
Nodejs第一天 1.什么是Nodejs Nodejs是一个可以运行(解析)ECMAScript的环境; ECMAScript是规定了一些列的语法 ,这些语法想要解析的执行就需要放在某个环境 ...
- USACO 1.1.3 Friday the Thirteenth 黑色星期五
Description 13号又是一个星期5.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至 ...
- DAY3敏捷冲刺
站立式会议 工作安排 (1)服务器配置 (2)数据库配置 燃尽图 燃尽图有误,已重新修改,先贴卡片的界面,后面补修改后燃尽图 代码提交记录
- phpcms v9 thumb(缩略图) 函数说明
打开phcmsc/libs/functions/global.func.php文件,找到如下代码:/** * 生成缩略图函数 * @param $imgurl 图片路径 * @param $wid ...