ZOJ-1409
来源:互联网 发布:网络教育已成现实 编辑:程序博客网 时间:2024/05/16 12:47
题目看了半天,大意就是每组必须选一个带宽,然后分子是这些带宽的最小值,分母是这些带宽的价格总和,求这个比例的最大值。。我是用比较暴力的方法算的,看题解说是归为贪心的范畴,看不出来和贪心有什么联系,可能是我对贪心没概念。。
#include<stdio.h>#include<limits.h>static int n, band[100][100], price[100][100], size[100];static int total_price(int index, int b, int p){int i, j, sum = p;for (i = 0; i < n; i++){if (i == index)continue;int minp = INT_MAX;for (j = 0; j < size[i]; j++)if (band[i][j] >= b && price[i][j] < minp)minp = price[i][j];sum += minp;}return sum;}int main(){int t;scanf("%d", &t);while (t--){scanf("%d", &n);int i, j, minmaxband = INT_MAX;for (i = 0; i < n; i++){scanf("%d", &size[i]);int maxband = -1;for (j = 0; j < size[i]; j++){scanf("%d %d", &band[i][j], &price[i][j]);if (band[i][j] > maxband)maxband = band[i][j];}if (maxband < minmaxband)minmaxband = maxband;}int tp;double bp = 0, temp;for (i = 0; i < n; i++)for (j = 0; j < size[i]; j++)if (band[i][j] <= minmaxband){tp = total_price(i, band[i][j], price[i][j]);temp = band[i][j] / (double) tp;if (temp > bp)bp = temp;}printf("%.3lf\n", bp);}return 0;}
0 0
- ZOJ 1409
- ZOJ-1409
- zoj 1409 Communication System
- ZOJ 1409 Communication System
- ZOJ 1409 Communication System
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- Fix Error - Locale: Cannot Set LC_ALL to default locale: No such file or directory
- JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用
- 软件测试的意义
- 哎,吐槽一下这三年的奋斗史,下一步怎么办?
- 链表模块
- ZOJ-1409
- Web项目中web.xml配置文件context-param作用
- 数据挖掘算法-Kmeans
- JSP技术入门
- flying saucer技术生成pdf文档
- 正则表达式学习参考
- java基础,但非常重要的.引用传递和值传递见解
- IAR下Rebuild all出现error的问题
- VMware Workstation虚拟机中体验Mac OS X 10.9 Mavericks