#B4087. [语言月赛 202412] 吃饭大赛总决赛
[语言月赛 202412] 吃饭大赛总决赛
题目背景
声明:本题的晋级规则纯属虚构,与真正的 ICPC 竞赛 EC Fianl 晋级规则有所区别。
题目描述
在 ICPC(Interactive Clever Pig Contest,交互聪明猪猪大赛)中表现出色的猪猪队伍可以晋级至吃饭大赛总决赛(Eating Contest Final,EC Final)。
共有 场 ICPC 比赛,从 到 编号,每场比赛有至多 支猪猪队伍参与。
有 条比赛排名记录,每一条中包含了一支队伍在某场比赛中取得的成绩信息,分别是队伍名称、三个猪队员的名字、比赛编号和队伍排名。
我们认为不同猪的名字互不相同,名字相同的猪一定是同一只猪。同时,我们认为每一条记录都是一个新的队伍所打出的成绩。即使队伍名称和猪的名字与之前的队伍相同,也认为是一个新的队伍。
同时,数据保证:
- 一支队伍恰好有三个不同的猪队员;
- 对于某场比赛,所有记录中的队伍排名互不相同;
- 对于某场比赛,所有记录中的队伍的猪队员互不相同;
- 对于某场比赛,如果存在排名为 ()的队伍,那么记录中一定存在排名为 的队伍。
你需要求出所有可以晋级至 EC Final 的队伍的名称。晋级 EC Final 的规则如下:
定义一支队伍可以晋级至 EC Final 当且仅当该队伍的所有猪成员现在都还没有晋级至 EC Final;
接下来进行至多 次操作,如果不存在可以晋级的队伍,则停止操作。否则,会选出一个可以晋级的队伍晋级至 EC Final;这支队伍需要满足:在所有可以晋级的队伍中,它的排名是最小的;如果有多支队伍满足条件,则选择比赛编号最小的队伍。
输入格式
第一行输入四个整数,依次表示记录条数 ,比赛场数 ,比赛容量 和晋级名额数量 。
接下来 行,每行包含四个字符串和两个正整数 ,其中 表示队伍名称, 表示三个猪队员的名字, 表示比赛编号, 表示队伍排名。
保证输入时三个猪队员的名字是按照字典序从小到大排列的。
输出格式
首先输出一个整数 ,表示一共有多少支队伍晋级 EC Final。
接下来输出 行,每行四个字符串,表示一支晋级至 EC Final的队伍名称和三个猪队员的名字。要求猪队员的名字按照字典序从小到大的顺序输出(与输入的顺序一致)。
本题采用 special judge 进行评测,你可以按任意顺序输出晋级到 EC Final 的队伍,但必须保证猪队员的名字按字典序输出。
4 2 2 3
quntongtai fr fusu woruo 2 1
sdutcs wtz ysl zay 1 2
longname dx fr woruo 1 1
longname booot boot bot 2 2
3
longname dx fr woruo
sdutcs wtz ysl zay
longname booot boot bot
提示
样例 1 解释
共有两场比赛,排名情况如下: | | 比赛 1 | 比赛 2 | |:-:|:-:|:-:| |第 名 |longname(dx fr woruo)|quntongtai(fr fusu woruo) | | 第 名|sdutcs(wtz ysl zay) | longname(booot boot bot)|
按如下方法选出晋级队伍:
- 首先找到排名最小可晋级的队伍
longname(dx fr woruo)
和quntongtai(fr fusu woruo)
,其中前者的比赛编号更小,所以前者的队伍晋级。 - 接下来,因为
fr
和woruo
已经晋级,所以队伍quntongtai(fr fusu woruo)
失去了晋级 EC Final 的资格。 - 接下来,找到两场比赛的第二名的队伍,用类似的方法依次选择它们晋级 EC Final。
数据规模与约定
测试点编号 | 特殊约定 |
---|---|
每只猪只会参加一场比赛 | |
无 |
对于所有数据,保证 ,,,,输入的所有字符串的长度不超过 ,字符串仅含小写英文字母,每支队伍的三个队员名字互不相同,输入的每条记录互不相同。
提示
请注意,输入不保证一场比赛里的所有队伍名字不同,也不保证猪队员的名字和队伍名字不同。