#CSPR04D. [CSP复赛模拟第04套-D题] 拉多少个群

    ID: 9966 传统题 1000ms 512MiB 尝试: 0 已通过: 0 上传者: 标签>编程题c++CSPCSP复赛CSP模拟练习CSP复赛模拟第04套第04套-D题

[CSP复赛模拟第04套-D题] 拉多少个群

拉多少个群

题目描述

nn个人,编号从 1n1 \sim n。需要建立若干个聊天群,每个聊天群的人数上限为 mm。需要保证对于任意两个人 x,yx, y,满足如下要求:

至少有一个群既有 xx又有 yy

至少有一个群只有 xx没有 yy

至少有一个群只有 yy没有 xx

假设最多只能建立 kk个群,请你给出一个满足要求的方案。

输入格式

一行,三个整数:n,m,kn, m, k

输出格式

第一行为建立群的数量(必须小于等于 kk)。

接下来输出若干行,每行都对应你的方案的一个群。每行首先输出一个正整数(必须小于等于 mm),表示当前聊天群人数,然后输出这么多个人的编号(必须在 1n1 \sim n的范围内),即当前群内成员。

如果有多种方案,任意输出一种即可。

输入输出样例

输入 #1


5 5 10

输出 #1


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

说明/提示

对于 100%100\%的数据,2n102 \le n \le 102mn2 \le m \le n,保证至少有一个解。

子任务 111010分):保证 n=2,k=10n = 2, k = 10

子任务 222020分):保证 m=n,k=n+1m = n, k = n + 1

子任务 333030分):保证 m=2,k=n2m = 2, k = n^2

子任务 444040分):保证 k=n×(n1)m1k = \lceil \frac{n \times (n - 1)}{m - 1} \rceil

数据范围其实放得很开,并且其实有一点点引导性!