【题目描述】
小A有n个球,编号分别为1到n,小A每次都会从n个球中取出若干个球,至少取一个,至多取n个,每次取完再放回去,需要满足以下两个条件。
(1)每次取出的球的个数两两不同。
(2)每次取出的球的集合两两不包含。
包含是指,对于两次取球,对于取的数目少的那次取球的所有球都出现在取的数目多的那次取球中,例如{1,2}和{1,2,4},{1,2}和{2,3}则不算作包含。
而小A现在突然想知道他最多能进行多少次这样的操作,并希望你能给出具体的取球方案。
【输入样例】
一个整数n。
【输出样例】
第一行一个数k,表示能进行的最多次数。
接下来k行,每行第一个整数p,表示这次取的球数,接下来p个数表示这次取的球的编号,编号只需要不同,不需要按照顺序输出,本题设有spj。
对于每个测试点,每组数据第一行正确可以获得20%的分,如果第一行和方案均正确获得100%的分。
【样例输入】
4
【样例输出】
2
1 1
2 2 3
【备注】
对于30%的数据,n<=7。

这篇博客介绍了NOIP模拟的一道思维题,题目要求在有n个球的情况下,每次取出的球数两两不同且不相互包含。博主分析了当n为奇数和偶数时的最大操作次数,并提供了证明。对于30%-70%的数据可以通过打表解决,最大次数为n-2。博主给出了完整的解决方案和代码实现。
最低0.47元/天 解锁文章
269

被折叠的 条评论
为什么被折叠?



