100 #P2220. 0x60图论(练习)23:将他们分好队[POJ1112]

0x60图论(练习)23:将他们分好队[POJ1112]

题目描述

你的任务是以下列方式将一些人分成两个小队:

1、每个人都属于其中一个团队;

2、每个团队至少有一名成员;

3、团队中的每个人都认识团队中的每个人;

4、团队的规模尽可能接近。

此任务可能有许多解决方案,你可以输出任何一种解决方案,或声明解决方案不存在。

输入格式

第一行包含整数 NN,表示共有 NN 个人,他们被编号为 1,2,\dots,N

接下来 NN 行,第 ii 行包含多个用空格分隔开的整数,表示编号为 ii 的人认识的人的编号列表,最后以 00 结尾。

注意 AA 认识 BB 不代表 BB 一定认识 AA

输出格式

如果不存在解决方案,则输出“No solution”。

如果存在,则输出两个队伍的成员信息,每个队伍占一行,首先输出队伍的人数,然后依次输出队伍成员的编号。

输入输出样例

输入 #1

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

输出 #1

3 1 3 5
2 2 4

数据范围与提示

2N1002≤N≤100