HDU—— 1070 Milk
来源:互联网 发布:淘宝认证在哪里 编辑:程序博客网 时间:2024/06/06 12:28
题意:Ignatius喝牛奶,并且有几个原则:1、不喝6天前的牛奶,即一盒牛奶最多连续喝5天,第6天就不再喝了。2、每天和200ml。3、当剩下牛奶小于200ml时就扔掉。4、超市所有牛奶都是同一天生产。现在求买哪种牛奶最便宜。输入格式为:第一行一个T表示测试用例个数,接着每个测试第一行输入一个N表示牛奶的种类,然后N行每行分别输入brand(字符串)、price、volume。
解题思路:详见代码。
#include <iostream>#include <string>using namespace std;struct Node//定义一个结构体{ string brand;//牛奶品牌 int Price;//牛奶价格 int volume;//牛奶体积}Brands[105];//结构体数组int main(){ //freopen("input.txt","r",stdin); int T,N,k; cin>>T; while(T--) { cin>>N; double cheap = 100000000.0;//定义一个中间量来接收最便宜价格 string cBrand; int volumes = 200;//brand接收最便宜牛奶名称,volume接收最便宜牛奶体积 for(int i = 1; i<=N; i++) { cin>>Brands[i].brand>>Brands[i].Price>>Brands[i].volume; if(Brands[i].volume < 200) continue;//当体积小于200时忽略 else if(Brands[i].volume > 1000)//当体积大于1000时直接按1000计算 {//每次判断是特别注意当出现多个最便宜价格一样时,选择体积最大的 if(cheap > Brands[i].Price*1.0/5 ||(cheap == Brands[i].Price*1.0/5 &&Brands[i].volume > volumes)) { cheap = Brands[i].Price*1.0/5; cBrand =Brands[i].brand; volumes = Brands[i].volume; } } else {//每次判断是特别注意当出现多个最便宜价格一样时,选择体积最大的 int n = Brands[i].volume/200; if(cheap > Brands[i].Price*1.0/n ||(cheap == Brands[i].Price*1.0/n&&Brands[i].volume > volumes)) { cheap = Brands[i].Price*1.0/n; cBrand =Brands[i].brand; volumes = Brands[i].volume;} } } cout<<cBrand<<endl;//最后输出最便宜牛奶的品牌 } return 0;}
0 0
- HDU—— 1070 Milk
- hdu 1070 Milk(水)
- 水题 hdu 1070 milk
- HDU 1070 Milk
- hdu 1070 Milk
- hdu 1070 milk
- Milk hdu 1070
- hdu 1070 Milk
- hdu 1070 Milk
- hdu 1070 Milk
- HDU 1070 Milk
- hdu 1070 Milk
- Milk hdu 1070
- hdu 1070 Milk
- hdu 1070 Milk
- hdu-oj 1070 Milk
- HDU 1070 Milk
- hdu 1070 milk
- 程序员如何保持身心健康?
- UDP:用户数据报
- 第十三周项目三 成绩处理函数版
- 13周(数组倒序输出)
- C语言第十三回合:再谈指针
- HDU—— 1070 Milk
- 算法导论 31-3 关于斐波那契数的三个算法
- 数据库课程设计——宾馆管理系统UML用例图
- 网络流专题
- 第十三周项目5-字符串的操作(统计字母 ' A ' 出现的次数)
- ios开发——UICollectionView初阶
- 最大流 C++实现
- SzNOI 小鼠迷宫(bfs)
- 一元三次方程求解(注意范围)