【ACM】杭电1070:Milk
来源:互联网 发布:sql2000附加数据库金蝶 编辑:程序博客网 时间:2024/04/20 02:00
思路分析:
先求出每个品牌平均每天的花费,再比较这些平均花费的大小,选择最小的即可。如果平均花费相同,则选择容量大的品牌。可以用一个结构体来储存品牌相关信息:
struct brand{char ch[120];int price;int v;double ave; /* the average cost of one day */};typedef struct brand BRAND;
注意:
1、如果一瓶的奶量少于200ml,则应该忽视这个品牌。
2、如果一瓶的奶量高于1000ml(够喝5天的了),则平均花费只需要用单价除以5即可。
3、只买一次奶,最多喝5天。
代码:
#include <stdio.h>#include <string.h>#include <stdlib.h>struct brand{char ch[120];int price;int v;double ave; /* the average cost of one day */};typedef struct brand BRAND;int compare(const void *a,const void *b) /* high to low order */{BRAND *x = (BRAND*)a;BRAND *y = (BRAND*)b;if(x->v < y->v)return 1;else if(x->v == y->v)return 0;elsereturn -1;}int find_min(BRAND *bd,int len){int i,ix_min = 0;for(i = 1 ; i < len ; ++i){if(bd[i].ave < bd[ix_min].ave)ix_min = i;}return ix_min;}double cost(BRAND *b) /* the cost of one day */{return (double)b->price / (b->v / 200);}int main(int argc, char *argv[]){int T,t,i,j,n;BRAND bd[110];scanf("%d",&T);for(t = 1 ; t <= T ; ++t) /* T input set */{memset(bd,0,sizeof(bd));scanf("%d",&n); /* amount of the brands */for(j = 0 ; j < n ; ++j){scanf("%s",bd[j].ch); /* the information of the brand */scanf("%d%d",&bd[j].price,&bd[j].v);if(bd[j].v < 200) /* not enough */{bd[j].ave = 9999999;continue; /* get the next brand */}if(bd[j].v > 1000)bd[j].ave = bd[j].price / (double)5;elsebd[j].ave = cost(&bd[j]);}qsort(bd,n,sizeof(BRAND),compare);printf("%s\n",bd[find_min(bd,n)].ch);}return 0;}
- 【ACM】杭电1070:Milk
- 杭电acm—1070 Milk
- 杭电 HDU ACM Milk
- 杭电1070 Milk
- 【杭电】[1070]Milk
- 【杭电1070】Milk
- 航电ACM HDOJ 1070 Milk
- Milk(杭电1070)
- 杭电OJ 1070 milk
- 杭电 hdu 1070 Milk
- HDU ACM 1070 Milk
- 【杭电-oj】-1070-Milk(结构体)
- 杭电-1070-Milk (结构体+sort)
- 【杭电1070】milk (sort+结构体)
- 杭电ACM 1003
- 杭电 ACM 2016
- 杭电acm 1010
- 杭电 acm 1045
- 神奇的200万个原子
- flash+xml汉化 英文flash+xml网站汉化教程
- 为什么1.3.6.1.2.1.2.1.0的值是32呢?
- SQl如何避免除零错误 小结
- PC端如何判断出“USB调试”模式是否打开了?
- 【ACM】杭电1070:Milk
- oracle关于模糊查询的问题
- opencv二值图孔洞填充算法(方法系转载)
- sgu 122 The book
- Problem A: Arti cial Intelligence? 结题报告
- 图像变形(二)
- 10月总结
- Android应用开发之(按需设置Broadcast receiver)
- 歌厅歌曲管理系统(转)用c语言实现的一个课程设计