p1223专题

排队接水(洛谷-P1223)

题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。 输入输出格式 输入格式: 输入共两行,第一行为n;第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格。 输出格式: 输出有两行,第一行为一种排队顺序,即1到n的一种排列;第二行为这种排列方案下的平均等待时间(输出结果精确到

洛谷-P1223 排队接水

目录 题目链接: 思路: 代码: 结构体 题目链接: P1223 排队接水 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路: 结构体排序 至于为什么要让接水时间短的人排在前面,见下面这位大佬的解释: 要让平均排队时间最小,就要让接水时间短的人往前排。 代码: #include<bits/stdc++.h>using name

【洛谷】P1223 排队接水 题解

P1223 排队接水 这道题首先要明确一处细节,一个人的等待时间并不包括他本身为自己打水的时间(即只记录别人打水的总时间) 首先,若使n个人的平均等待时间最小,不难想出,应让用时较短的人先打水,主体思想即此。 ​ 所以首先进行预处理,将每人的时间从小到大sort排序。 ① 要输出排队顺序,所以用结构体可以方便的表示和进行数据处理:一个变量表示序号,另一个为接水时间 ② 输出平均等待时间

洛谷 P1223 排队接水

本聪明帅气文武双全的史上无敌代码猿又来发题解了 P1223 排队接水 题目描述 有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 T【i​】,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待时间最小。 输入格式 第一行为一个整数 n。 第二行 n 个整数,第 i 个整数 T【i​ 】表示第 i 个人的接水时间 T【i​】。 输出格式 输出文件有两行,第一行为

题解 P1223 【排队接水】

0.前言 小学奥数 1.正文 总时间 = a [ i ] ∗ ( n − i ) a[i]*(n-i) a[i]∗(n−i); 代码很简单,就不贴了; 但是! 第一遍WA了两个点(写这篇文章的原意); 数据类型的锅(甩锅高手 总和应该是double类型; 2.结语 下次不能写错数据类型!