#XMOJ11814. 精灵对战
精灵对战
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:numen.in 输出文件:numen.out
"卢塞维尔"精灵训练营里,小明养了 $n$ 只精灵,编号 $1$ 到 $n$ 各不相同。每次对战是一场全员参加的训练赛:所有精灵被分成红蓝两队,每队至少一只。
小明希望:经过若干次对战后,任意两只精灵都至少有一次被分在不同队伍里(这样才能互相切磋过)。由于精灵体力有限,他想用最少的对战次数达成目标。
请你帮他安排对战计划。
输入格式
一行,一个整数 $n$($2 \le n \le 1000$)。
输出格式
第一行输出 $m$,表示最少对战次数。
接下来 $m$ 行,第 $i$ 行描述第 $i$ 次对战:先输出一个整数 $f_i$($1 \le f_i < n$),表示这次对战中红队的人数;随后输出 $f_i$ 个 $1$ 到 $n$ 之间的整数,即红队精灵的编号(其余精灵自动归入蓝队)。同一行数字用空格隔开,编号顺序任意。若有多种最优方案,输出任意一种即可。
样例
样例 1
3
2
1 2
1 1
样例说明:
最少需要 次对战,两次的分队如下:
第 $1$ 次:红队 $2$,蓝队 $1,3$,所以精灵 $2$ 与 $1,3$ 都切磋过;
第 $2$ 次:红队 $1$,蓝队 $2,3$,所以精灵 $1$ 与 $2,3$ 都切磋过。
两次对战中,每只精灵所在队伍依次为:$1$ 号(蓝红)、$2$ 号(红蓝)、$3$ 号(蓝蓝)。$3$ 只精灵的记录互不相同,因此任意两只精灵至少有一次被分在不同队伍,目标达成。
样例 2
6
3
3 1 2 3
3 1 4 5
3 1 3 5
样例说明:
最少需要 次对战,三次的分队如下:
第 $1$ 次:红队 $1,2,3$,蓝队 $4,5,6$,所以前 $3$ 只精灵与后 $3$ 只精灵两两都切磋过;
第 $2$ 次:红队 $1,4,5$,蓝队 $2,3,6$;
第 $3$ 次:红队 $1,3,5$,蓝队 $2,4,6$。
三次对战中,每只精灵所在队伍依次为:$1$ 号(红红红)、$2$ 号(红蓝蓝)、$3$ 号(红红蓝)、$4$ 号(蓝红蓝)、$5$ 号(蓝红红)、$6$ 号(蓝蓝蓝)。$6$ 只精灵的记录互不相同,因此任意两只精灵至少有一次被分在不同队伍,目标达成。
数据范围
$2 \le n \le 1000$。
相关
在下列比赛中: