编程题
### 问题描述 在一个社区中,有 $ N $ 名居民,他们喜欢参与不同的小组活动。为了满足社区的组织需求,需要重新组织这些小组,使得任意两名居民,至少有一个小组包含其中一人而不包含另一人。 现在需要设计一种小组分配方案,使得小组的总数最少,同时最大的小组(即成员数最多的小组)的成员数也要尽可能少。如果存在多个满足条件的方案,输出任意一种即可。 ### 输入格式 输入仅包含一个整数 $ N $,代表社区中居民的数量。 ### 输出格式 第一行输出两个用空格分隔的整数,分别表示最小的小组总数和最大小组的最少成员数。 接下来的每一行代表一个小组,每行的第一个数表示该小组的成员数,后面跟着该小组所有成员的编号(编号顺序任意)。 ### 样例输入 ``` 5 ``` ### 样例输出 ``` 3 2 2 2 4 2 3 4 1 5 ``` ### 评测数据规模 - $ 2 \leq N \leq 10^5 $ - 在 10% 的测试用例中,$ N \leq 15 $ - 在另外 20% 的测试用例中,$ N = 2^k $,对某个整数 $ k $
查看答案
赣ICP备20007335号-2