说明
在"星火征途"战地医疗中,伤员登记救治,编写一个程序,将登记的伤员按照以下原则排出救治的先后顺序:
1. 重伤员(伤情等级 ≥ 60)比轻伤员优先救治。
2. 重伤员按伤情等级从高到低的顺序救治,伤情等级相同的按登记的先后顺序排序。
3. 轻伤员按登记的先后顺序救治。
输入格式
输入共n+1行。
第1行是一个小于100的正整数n,表示伤员的个数。
接下来n行,按照伤员登记的先后顺序输入每个伤员的信息(登记顺序就是输入顺序,登记序号从1开始)。
每个伤员的信息包括:一个长度小于10的字符串表示伤员编号(各不相同且只含数字和字母),一个整数表示伤情等级,编号和等级之间用空格隔开。
输出格式
按排好的救治顺序输出伤员编号,每行一个。
5
021075 40
004003 15
010158 67
021033 75
102012 30
021033
010158
021075
004003
102012
提示
思路:
① 定义结构体sick,包含编号ID、伤情等级age、登记序号num
② 将伤员分为重伤员组和轻伤员组(等级≥60为重伤员)
③ 对重伤员组排序:等级降序→登记序号升序
④ 先输出重伤员组编号,再输出轻伤员组编号
来源
改编自PPT课件《19.pptx》病人排队练习(oj.aicoders.cn/problem/2996)