HM276 冠亚季落盘
HM276 冠亚季落盘
来源: 第 276 集 演讲比赛流程管理系统-保存记录功能实现
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
一届演讲赛比完后,要把本届**冠军、亚军、季军**三人的编号和**最终得分**追加写入记录。记录采用逗号分隔(CSV):每一个字段后面都要跟一个逗号,三人写完后再换行,一行就是一届。
选手资料放在以编号为键的映射里。每个选手有两轮得分,下标 \(0\) 是第一轮,下标 \(1\) 才是最终得分;落盘时必须写最终得分,不要写第一轮。名次顺序来自冠军容器:先冠军,再亚军,再季军,按下标依次取出编号,再回映射里查分。
写入使用输出文件流,打开方式必须同时带「写出」和「追加」:新一届只能接在旧记录后面,不能把往届抹掉。若记录文件尚不存在,写出时会自动创建。写完后关闭流,并依次提示记录已保存、本届比赛完毕。
本题用标准输出模拟记录文件:每保存一届,先追加那一行 CSV,再输出两行提示。连续保存多届时,先出现的行是更早的一届。
输入格式
第一行两个整数 \(n\)、\(t\),表示选手人数和要保存的届数。
接下来 \(n\) 行,每行一个整数 \(id\) 和两个实数 \(s_0\)、\(s_1\),表示一名选手的编号、第一轮得分、最终得分。编号互不相同。
接下来 \(t\) 行,每行三个整数,依次是该届冠军、亚军、季军的编号,保证都能在选手表中找到。
输出格式
对每一届依次输出三行:
- CSV 记录:
编号,最终得分,编号,最终得分,编号,最终得分,,共六个字段、六个逗号,行末换行; 记录已经保存;本届比赛完毕。
实数按固定小数、保留三位输出。
样例
输入 #1
6 2
10001 80.000 86.500
10002 82.000 87.000
10003 79.000 85.000
10004 81.000 88.000
10005 83.000 84.000
10006 78.000 90.000
10001 10002 10003
10004 10005 10006
输出 #1
10001,86.500,10002,87.000,10003,85.000,
记录已经保存
本届比赛完毕
10004,88.000,10005,84.000,10006,90.000,
记录已经保存
本届比赛完毕
输入 #2
3 1
10002 70.125 86.675
10009 71.000 88.250
10001 69.500 80.000
10002 10009 10001
输出 #2
10002,86.675,10009,88.250,10001,80.000,
记录已经保存
本届比赛完毕
说明
\(1 \le n \le 200\),\(1 \le t \le 50\),编号为不超过 \(10^9\) 的正整数,得分在 \([0,100]\) 内。
样例 #1 先按冠军容器写下第一届三人的最终分,再**追加**第二届,第一行不会被覆盖。样例 #2 的最终分取的是下标 \(1\) 的 \(86.675\),不是第一轮的 \(70.125\)。
信息
- ID
- 1275
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者