1319:【例6.1】排队接水

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 17332     通过数: 7890

【题目描述】

有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。

【输入】

共两行,第一行为n(1≤n≤1000);第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格。

【输出】

有两行,第一行为一种排队顺序,即1到n的一种排列;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。

【输入样例】

10
56 12 1 99 1000 234 33 55 99 812

【输出样例】

3 2 7 8 1 4 9 6 10 5
291.90

【分析】

由干排队时,越靠前面的计算次数越多,因此越小的排在越前面得出的结果越小(可以
(可用数学方法简单证明,这里就不再赘述),所以这道题可以用贪心法解答,基本步骤为∶
(1)将输入的时间按从小到大排序;(2)将排序后的时间按顺序依次放入每个水龙头的队列中;(3)统计,输出答案。

【参考代码】

#include <stdio.h>
#define N 1010struct node
{int time;  //接水时间 int site;  //位置
}a[N],t;int main()
{int n,i,j;double sum=0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i].time);a[i].site=i;}for(i=0;i<n-1;i++)       //比较排序 {for(j=i+1;j<n;j++){if(a[i].time > a[j].time){t=a[i];a[i]=a[j];a[j]=t;}}}for(i=0;i<n;i++)printf("%d ",a[i].site+1);printf("\n");for(i=0;i<n;++i)sum+=a[i].time*(n-1-i);printf("%.2lf\n",sum*1.0/n);return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1319

信息学奥赛一本通(1319:【例6.1】排队接水)相关推荐

  1. 信息学奥赛一本通 1319:【例6.1】排队接水 | 洛谷 P1223 排队接水

    [题目链接] ybt 1319:[例6.1]排队接水 洛谷 P1223 排队接水 [题目考点] 1. 贪心 2. 贪心选择性质的证明 要想证明贪心选择可以得到最优解,只需要证明最优解包含每一次的贪心选 ...

  2. 信息学奥赛一本通(1183:病人排队)

    1183:病人排队 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 17345     通过数: 7284 [题目描述] 病人登记看病,编写一个程序,将登记的病人按 ...

  3. 信息学奥赛一本通:1183:病人排队

    1183:病人排队 [题目描述] 病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序: 1.老年人(年龄 >= 60岁)比非老年人优先看病. 2.老年人按年龄从大到小的顺序看 ...

  4. 【例1】 0/1背包《信息学奥赛一本通》【解法一】 02

    /* [例1] 0/1背包<信息学奥赛一本通>[解法一] 02 http://ybt.ssoier.cn:8088/problem_show.php?pid=1267 */ #includ ...

  5. 【例8】合唱队形(《信息学奥赛一本通第五版》)

    /* [例8]合唱队形(<信息学奥赛一本通第五版>) http://ybt.ssoier.cn:8088/problem_show.php?pid=1264 [问题描述] N位同学站成一排 ...

  6. 信息学奥赛一本通 2021:【例4.6】最大公约数

    [题目链接] ybt 2021:[例4.6]最大公约数 [题目考点] 1. while循环 2. 求最大公约数 辗转相减法 辗转相除法 [解题思路] 解法1:枚举 取较小数字,从该数字的值开始从大到小 ...

  7. 信息学奥赛一本通(2032:【例4.18】分解质因数)

    2032:[例4.18]分解质因数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 582     通过数: 376 [题目描述] 把一个合数分解成若干个质因数乘积 ...

  8. 信息学奥赛一本通——2062:【例1.3】电影票

    2062:[例1.3]电影票 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 57341     通过数: 34230 [题目描述] 已知一位小朋友的电影票价是10 ...

  9. 信息学奥赛一本通 1278:【例9.22】复制书稿(book) | 洛谷 P1281 书的复制

    [题目链接] ybt 1278:[例9.22]复制书稿(book) 洛谷 P1281 书的复制 [题目考点] 1. 动态规划:线性动规 [解题思路] 该题可以抽象为:将由m个数字构成的序列分成k个子段 ...

  10. 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)

    [题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...

最新文章

  1. mysql innodb myisam 插入数据_mysql innodb换成myisam后插入数据变快?
  2. Why I Love My Virtual PCs
  3. linux删除U盘分区、创建分区和格式化
  4. 机器学习 KD树_递归_回溯_搜索(matlab实现)
  5. Nike Air Jordan Sneakers
  6. php oracle打印输出,php 连接oracle 导出百万级数据
  7. STM32工作笔记0068---SPI同步通信Flash读写实验
  8. python文件命名 数字_在python中,如何导入文件名以数字开头
  9. STM32固件库包的下载与安装
  10. idea格式化代码失效
  11. 便捷注册live、MSN邮箱
  12. 标准正态分布怎么算_标准正态分布值计算器
  13. linux bt速度快,linux bt速度之王—— rtorrent
  14. 犹太人很会赚钱?一老板用犹太人的思维做生意,一年赚了200多万!
  15. N2N V3 安装配置解决方案
  16. bzoj1778 驱逐猪猡 [高斯消元+概率DP]
  17. Python技巧——解析式
  18. 计算机技术科学的作用,计算机教育中科学技术的作用
  19. 等面积圆柱投影的证明
  20. Hadoop实现数据清洗ETL

热门文章

  1. EXCEL2010经典用法全集(3)
  2. 吐血整理!12种通用知识图谱项目简介
  3. C++20 要来了!
  4. Simulink之三相桥式全控整流电路
  5. SpringBoot 如何进行对象复制,老鸟们都这么玩的!
  6. 【面试题】一文讲清,为啥redis单线程还有很高的性能?
  7. 大神手把手教你设计秒杀架构模型
  8. SAP 函数积累(转
  9. Java基础篇(04):日期与时间API用法详解
  10. Docker技术入门与实战 第二版-学习笔记-2-镜像构建