#217. 「Team Them Up!」 将他们分好队
「Team Them Up!」 将他们分好队
你的任务是以下列方式将一些人分成两个小队:
1、每个人都属于其中一个团队;
2、每个团队至少有一名成员;
3、团队中的每个人都认识团队中的每个人;
4、团队的规模尽可能接近。
此任务可能有许多解决方案,你可以输出任何一种解决方案,或声明解决方案不存在。
输入格式
第一行包含整数N,表示共有N个人,他们被编号为1,2,…,N。
接下来N行,第 i 行包含多个用空格分隔开的整数,表示编号为i的人认识的人的编号列表,最后以0结尾。
注意A认识B不代表B一定认识A。
输出格式
如果不存在解决方案,则输出”No solution”。
如果存在,则输出两个队伍的成员信息,每个队伍占一行,首先输出队伍的人数,然后依次输出队伍成员的编号。
数据范围
输入样例:
5
2 3 5 0
1 4 5 3 0
1 2 5 0
1 2 3 0
4 3 2 1 0
输出样例:
3 1 3 5
2 2 4
来源
- 《算法竞赛进阶指南》
- acwing 可能含有视频讲解