#P6575. [BalticOI 2017] Friends

[BalticOI 2017] Friends

题目背景

高中就是要交最棒的朋友!
乌姆里奇校长要调查霍格沃茨学校的交友情况了!

题目描述

学校里有 nn 个同学,他们的交友情况满足以下的条件:

  • 如果 aabb 是朋友那么 bbaa 也是朋友;
  • 同学们可以分成组,每个同学都恰好只在一个组里面,且:
    • 每个组的人数至少 11 个最多 pp 个;
    • 每组都有这样最多 qq 对朋友满足一个人在这个组,另一个人在别的组。

在同一个组里的两个同学不一定必须是朋友。
现在她来问您,想让您说出这些学生撒没撒谎。
如果没有撒谎的话,她想让您给出一个合理的分组模式。

输入格式

第一行三个整数 n,p,qn,p,q 代表学生数,组别内学生的限制,和组别内不同组别朋友的限制。
学生的编号为从 00n1n - 1
接下来 nn 行,从第 00 个学生开始,首先一个整数 mim_i 代表这个学生与多少个学生为朋友,接下来 mim_i 个整数代表有哪些朋友。

输出格式

如果这些学生撒谎了,输出 detention 并结束程序。
如果这些学生没撒谎,首先输出 home
然后一个整数 GG 代表这些学生可以分成 GG 组。
接下来 GG 行每行首先一个整数 GG' 代表这一组有几个学生,然后 GG' 个整数 gig_i 代表这一组学生的编号。
任意输出一种方式即可。

4 2 1
1 1
2 0 2
2 1 3
1 2
home
2
2 0 1
2 2 3
5 2 1
1 1
2 0 2
2 1 3
2 2 4
1 3
detention
3 3 3
2 1 2
2 0 2
1 0
detention

提示

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(20 pts):n16n \le 16
  • Subtask 2(37 pts):n250n \le 250q2q \le 2
  • Subtask 3(12 pts):q2q \le 2
  • Subtask 4(31 pts):无特殊限制。

对于 100%100\% 的数据,1n25001 \le n \le 2500p+q15p+q \le 15mi30000\sum m_i \le 30000,同学们不以自己为朋友。

本题使用 Special Judge。

说明

翻译自 BOI 2017 D2 T2 Friends。
翻译者:@一只书虫仔

spj 提示信息说明:

  • Accepted:答案正确。
  • Wrong Answer[0]:判断错误。
  • Wrong Answer[1]:某些组的大小不符合要求。
  • Wrong Answer[2]:组里含有编号不在 00n1n-1 内的人。
  • Wrong Answer[3]:某些人属于多个组。
  • Wrong Answer[4]:某些人不属于任何组。
  • Wrong Answer[5]:分组不满足要求。

spj 作者:

https://www.luogu.com.cn/user/174045