‹ 上一题 下一题 ›

g5-08297. 选课名单 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLmultimap

题目描述

选课系统里有 条「课程 学生」记录(学生互不相同,同一门课可以有多个学生)。按课程名字典序输出选课名单:每门课一行,格式为「课程: 学生1, 学生2, …」——课程名后跟冒号和空格,同课程的学生按登记先后排列,学生之间用「, 」(逗号加空格)分隔。

用 multimap<string, string> 逐条 insert;它按键有序、同键按插入先后。遍历分段跳:对每个还没输出过的课程 ,用 equal_range(c) 拿到区间,把这门课的学生按序拼好,再把迭代器直接跳到 r.second(下一个不同课程的位置)。

输入格式

第一行一个整数 ()。

接下来 行,每行一个课程名和一个学生名(均为小写字母串,长度 到 ;学生互不相同)。

输出格式

每门出现过的课程一行,格式如上,按课程字典序排列。

样例

输入:

5
math tom
english amy
math jerry
chinese bob
math zoe

输出:

chinese: bob
english: amy
math: tom, jerry, zoe

math 的三名学生按登记先后 tom、jerry、zoe 排列;课程按字典序 chinese、english、math 各占一行。

数据范围

。提示:用 map 一路覆盖赋值,每门课就只剩最后一个学生了。

输入
输出

            
答案