#P14779. [COCI 2025/2026 #3] 宴会 / Domjenak
[COCI 2025/2026 #3] 宴会 / Domjenak
题目背景
本题满分 。
题目描述
Malnar 先生正在为他的 位同事举办宴会,同事编号为 。同事们是两两成对来到宴会的。Malnar 先生观察到这群人传播信息时遵循一些奇怪规则:
第一,当且仅当两人是朋友,A 才愿意把信息告诉 B。保证一起到宴会的那一对同事互为朋友。
第二,每个人最多只愿意向一个人分享信息,并且对方必须尚未知道该信息。
第三,每个人尝试分享信息时,优先级最高的是与自己同来宴会的搭档。
换句话说:若 A 与 B 同来宴会,并且 A 知道而 B 不知道某信息,则 A 一定会把信息告诉 B。由于规则 2,A 不会再把该信息告诉其他人;而 B 之后会尝试把信息告诉另一位朋友,如此继续。
第四,这群人可以被划分为两个子集,使得任意一对朋友都不在同一子集。
Malnar 先生打算把故事讲给其中一位同事,并关心最多能有多少位同事听到故事。若最大人数为 ,他还希望你给出一个长度为 的序列 ,使得如果他把故事讲给 ,那么对所有 ,同事 都能把故事讲给 (符合上述传播规则)。
在整理规则时,Malnar 先生记录下了所有“朋友关系”,但忘记了当初哪些同事是成对来到宴会的。幸运的是,这些信息可以被唯一恢复:也就是说,存在且仅存在一种把 位同事划分为 对的方式,使得同一对里的两人是朋友。
请你帮助 Malnar 先生回答上述问题。
输入格式
第一行包含两个整数 (,),分别表示参加宴会的同事“对数”与朋友关系条数。
接下来 行,每行包含两个整数 (),表示 与 是朋友。
输出格式
第一行包含一个整数 ,表示最多能听到故事的人数。
第二行包含 个整数,给出满足条件的序列。若有多种可能的答案,输出任意一种即可。
2 3
1 2
1 4
3 4
4
2 1 4 3
3 5
1 2
2 3
1 4
4 5
1 6
4
6 1 2 3
4 8
1 2
2 3
3 4
4 1
2 5
3 6
4 7
7 8
6
6 3 4 1 2 5
提示
【样例解释】
样例 #1 解释:参加宴会的同事配对为:、。
样例 #2 解释:参加宴会的同事配对为:、、。可以证明不存在更长的可行序列。
例如序列 ,虽然相邻两人都是朋友,但 从 听到故事后无法把故事告诉 ,因为 的宴会搭档 仍不知道故事(规则 3 的优先级阻止了该传播)。
【子任务】
| 子任务 | 分值 | 限制 |
|---|---|---|
| 每位同事最多与 位同事是朋友 | ||
| , | ||
| 无额外限制 |