小慕负责管理一个大型项目,这个项目包含多个子任务,每个子任务都有一个名称和参与人数。小慕需要根据子任务的重要性和名称对它们进行排序,以便合理分配资源和制定计划。 你需要按照以下规则,输出每个子任务的信息: 1. 先按照子任务所属的任务组名称的进行排序,如果任务组名称相同,那么: 2. 先按照子任务的参与人数从高到低排列; 3. 如果参与人数相同,则按照子任务名称的字典序排列; 4. 如果某个任务组的子任务数量不足 5 个,则输出该任务组的所有子任务信息。 所有的子任务信息按任务组名称的字典序进行排序,若任务组名称相同,则按子任务名称的字典序排列。
提示:带虚线的词点一下有通俗解释。
输入描述
- 第一行输入一个整数 `num`,表示数据的行数。 - 接下来 `num` 行,每行包含三个元素,依次表示 `city`、`departmentName` 和 `personNum`。 - `city`:城市名称,字符串,不超过 100 个字符。 - `departmentName`:部门名称,字符串,不超过 100 个字符。 - `personNum`:部门人数,整数,`1 <= personNum <= 100000`。 - `1 <= num <= 10000` - 同城市下的部门必定不同名字。
输出描述
输出格式与输入格式一致,每个城市的部门信息按以下规则排序: - 每个城市的部门信息按部门人数从高到低排序,人数相同则按部门名称字典序排序; - 如果城市的部门不足 5 个,则全部输出; - 所有城市按字典序排列,如果城市名称相同,则按部门名称字典序排序。
示例
示例 1
输入
11 Beastland FireDepartment 100 Beastland WaterDepartment 50 Beastland EarthDepartment 50 Beastland AirDepartment 100 Beastland MagicDepartment 75 Beastland LandDepartment 75 Crestdale ArtDepartment 30 Crestdale HealthDepartment 60 Crestdale EconomyDepartment 50 Crestdale PoliceDepartment 40 Crestdale FireDepartment 90
输出
Beastland AirDepartment 100 Beastland FireDepartment 100 Beastland LandDepartment 75 Beastland MagicDepartment 75 Beastland EarthDepartment 50 Crestdale FireDepartment 90 Crestdale HealthDepartment 60 Crestdale EconomyDepartment 50 Crestdale PoliceDepartment 40 Crestdale ArtDepartment 30
时间限制 1000 ms · 内存限制 128 MB