HM276 冠亚季落盘

HM276 冠亚季落盘

HM276 冠亚季落盘

来源: 第 276 集 演讲比赛流程管理系统-保存记录功能实现

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

一届演讲赛比完后,要把本届**冠军、亚军、季军**三人的编号和**最终得分**追加写入记录。记录采用逗号分隔(CSV):每一个字段后面都要跟一个逗号,三人写完后再换行,一行就是一届。

选手资料放在以编号为键的映射里。每个选手有两轮得分,下标 \(0\) 是第一轮,下标 \(1\) 才是最终得分;落盘时必须写最终得分,不要写第一轮。名次顺序来自冠军容器:先冠军,再亚军,再季军,按下标依次取出编号,再回映射里查分。

写入使用输出文件流,打开方式必须同时带「写出」和「追加」:新一届只能接在旧记录后面,不能把往届抹掉。若记录文件尚不存在,写出时会自动创建。写完后关闭流,并依次提示记录已保存、本届比赛完毕。

本题用标准输出模拟记录文件:每保存一届,先追加那一行 CSV,再输出两行提示。连续保存多届时,先出现的行是更早的一届。

输入格式

第一行两个整数 \(n\)、\(t\),表示选手人数和要保存的届数。

接下来 \(n\) 行,每行一个整数 \(id\) 和两个实数 \(s_0\)、\(s_1\),表示一名选手的编号、第一轮得分、最终得分。编号互不相同。

接下来 \(t\) 行,每行三个整数,依次是该届冠军、亚军、季军的编号,保证都能在选手表中找到。

输出格式

对每一届依次输出三行:

  1. CSV 记录:编号,最终得分,编号,最终得分,编号,最终得分,,共六个字段、六个逗号,行末换行;
  2. 记录已经保存
  3. 本届比赛完毕

实数按固定小数、保留三位输出。

样例

输入 #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
通过率
?
上传者