N个人同时提水到一个水龙头前提水
因为大家的水桶大小不一,所以水龙头注满第i(i=1,2,3......N)个人所需要的时间是T(i)
编写一个程序,对这N个人使他们花费的时间总和最小,并求出这个时间

例如有三个人a,b,c,用时分别是2,1,3
排队顺序为c,b,a的时候,c要等待3,b要等待4,c要等待6,总和为3+4+6=13
排队顺序为a,b,c的时候,a要等待2,b要等待3,c要等待6,总和为2+3+6=11
11更小,要找出这样的最小值。

输入(有多组测试数据,每组数据里第一行为n(1<=n<=10000),表示人数,第二行为T(i),
n是多少就输入多少,表示各人要注满水桶的时间,中间用空格分隔):
3
2 1 3

输出(花费时间总和的最小值):
10

难度:easy

http://www.yzfy.org/dis/listpost.php?tid=18&extra=page%3D1

TIPS: 由题意可知,要想总的时间花费最小。首先应把输入的数据进行升序排序(即时间花费少的人先去提水),然后计算的总时间就是最小的。程序中使用排序的方法为冒泡排序。

// queue.cpp : Defines the entry point for the console application.
//#include "stdafx.h"#define MAXN 10000
int queue[MAXN];int main(int argc, char* argv[])
{int n, i, j, tmp, ans;ans =0;scanf("%d", &n);for(i=0; i<n; i++) scanf("%d", &queue[i]);for(i=0; i<n-1; i++)   //数组queue中按升序排列for(j=i+1; j<n; j++){if(queue[i]>queue[j]){tmp      = queue[i];queue[i] = queue[j];queue[j] = tmp;}}for(i=n-1; i>=1; i--)for(j=0; j<=i-1; j++)queue[i]+=queue[j];for(i=0; i<n; i++) ans+=queue[i];printf("%d\n", ans);return 0;
}

习题 17:排队提水问题★★相关推荐

  1. 陶哲轩实分析习题17.1.2

    陶哲轩实分析习题17.1.2 转载于:https://www.cnblogs.com/yeluqing/archive/2012/09/10/3828300.html

  2. C语言课后习题(17)

    谭浩强C语言第五版的一些课后习题 第五章 第十题 求分数和 int main(){double i=1.0,j=2.0;//i为分母 j为分子 j/idouble ans=0;//累计结果 int n ...

  3. 笨办法学python3 x_笨办法学习Python3.x 习题17

    原博文 2018-07-08 22:47 − 1 from sys import argv 2 from os.path import exists 3 4 script, from_file, to ...

  4. 关于计算机网络传输介质 下列叙述正确的是,《计算机基础》习题1-7

    4. 算法的基本结构中包括( ) A.顺序结构 B.选择结构 C.循环结构 D.逻辑结构 5.关于Excel图表的数据源,下列叙述不正确的是( ) A. 可以修改图表的数据源 B. 图表的数据源必须是 ...

  5. 17 | 排队也要讲效率:HTTP的连接管理

    我曾经提到过 HTTP 的性能问题,用了六个字来概括:"不算差,不够好".同时,我也谈到了"队头阻塞",但由于时间的限制没有展开来细讲,这次就来好好地看看 HT ...

  6. 操作系统教程课后习题答案完整版

    有些显示不出来的可以去我主页上看 习题一 1.设计操作系统的主要目的是什么? 设计操作系统的目的是:     (1)从系统管理人员的观点来看,设计操作系统是为了合理地去组织计算机工作流程,管理和分配计 ...

  7. 算法入门经典习题第一章

    习题1-1 平均数(average) #include<iostream> #include<bits/stdc++.h> using namespace std; int m ...

  8. linux运维脚本编写,最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本...

    最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本 大家可以通过参考下面的课程学习目录,就会发现单单只从目录上来分析就知道这是一部非常系统的Shell自动化脚本运 ...

  9. 计算机网络第三章习题

    计算机网络第三章习题 习题对应课本:Computer Networks (Fifth Edition) - Andrew S. Tanenbaum 习题 1. 一个上层分组(数据包)被分为 10 帧, ...

最新文章

  1. 贪心算法(Greedy Algorithm)最小生成树 克鲁斯卡尔算法(Kruskal#39;s algorithm)
  2. 私房库视频学习笔记-小清新BBS系统开发技术归纳
  3. MVC5 数据注解和验证
  4. c语言二进制转十六进制编程,哪位大神有 二进制转十六进制C语言程序
  5. watch 和 computed
  6. vue项目实现登录(sessionStorage 存储 token)
  7. 了解如何通过Python使用SQLite数据库
  8. log4net在WinForm和ASP.net下的设置
  9. 世界末日倒计时 js代码
  10. 飞控算法-姿态解算之互补滤波
  11. mysql 分库分表实战_DBLE分库分表实战
  12. happen-before原则
  13. 项目管理、Bug管理软件工具:禅道,BugFree,Redmine
  14. 如何让ffplay或者ffmpeg支持H265编码的rtmp/http-flv 实时直播流
  15. 香港第一金:黄金3月27行情操作分析预判
  16. 样式的新建、修改和导入/导出
  17. 今日头条开通,分享我爱的数码科技
  18. 最后1天,包邮送50豆瓣高分Python 好书
  19. 月份和星期的英语(请不要再弄错了)
  20. Pareto最优解排序

热门文章

  1. js判断是否是百度手机浏览器访问
  2. 谷粒商城-个人笔记(高级篇二)
  3. c++笔记(1):C++中命令行参数argc,argc[ ]究竟是什么
  4. input 类型为 number 时如何去掉数字加减上下箭头
  5. 布隆过滤器(Bloom Filter)算法
  6. nfl证明_在电脑上观看NFL周日晚上足球
  7. 基于wemosD1开发板的小车养成(二)
  8. 磁盘无法格式化怎么办?格式化硬盘以及恢复数据的方法
  9. 亚马逊眼影HRIPT斑贴报告是什么?怎么办理?
  10. Python下mysql数据库连接池