#3214. 志愿值班组

志愿值班组

志愿值班组

题目描述

学校要从编号为 11nn 的志愿者中选出 kk 人组成一个值班组。

有些志愿者不能被安排在同一组:若一对不兼容志愿者同时被选入,该小组就不合法。请按字典序输出所有合法的值班组。

一个小组内的编号必须从小到大输出。把两个小组分别看成它们的编号序列;从左到右比较时,第一个不同位置编号较小的小组排在前面。例如 1 3 6 排在 1 4 5 前面。

输入格式

第一行三个整数 n,k,mn,k,m

  • nn 表示志愿者总数;
  • kk 表示每个值班组的人数;
  • mm 表示不兼容关系的数量。

接下来 mm 行,每行两个不同的整数 a,ba,b,表示志愿者 aabb 不能被选进同一个小组。

保证同一对不兼容关系不会重复给出。

输出格式

第一行输出一个整数,表示合法值班组的总数。

之后按字典序输出每个合法值班组,每行 kk 个从小到大排列的编号,编号之间用一个空格隔开。

若没有合法值班组,只输出第一行的 0

输入示例 1

5 3 2
1 2
3 5

输出示例 1

4
1 3 4
1 4 5
2 3 4
2 4 5

数据范围

  • 1kn101 \le k \le n \le 10
  • 0mn(n1)20 \le m \le \frac{n(n-1)}{2}
  • 所有测试点的输出行数均不超过 300300