#lydlx06x0B14. 将他们分好队 Team Them Up!
将他们分好队 Team Them Up!
题目描述
你的任务是以下列方式将一些人分成两个小队:
- 每个人都属于其中一个团队;
- 每个团队至少有一名成员;
- 团队中的每个人都认识团队中的每个人(即每个团队内部是完全图关系);
- 团队的规模尽可能接近(即两个团队的人数差尽可能小)。
此任务可能有许多解决方案,你可以输出任何一种解决方案,或声明解决方案不存在。
输入格式
第一行包含整数 ,表示共有 个人,他们被编号为 。
接下来 行,第 行包含多个用空格分隔开的整数,表示编号为 的人认识的人的编号列表,最后以 结尾。
注意 认识 不代表 一定认识 。
输出格式
如果不存在解决方案,则输出 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
样例解释
有 个人:
- 1 认识 2,3,5
- 2 认识 1,4,5,3
- 3 认识 1,2,5
- 4 认识 1,2,3
- 5 认识 4,3,2,1
一种可行分法: 队伍1:1,3,5(这些人互相都认识:1认识3和5,3认识1和5,5认识1和3) 队伍2:2,4(2认识4吗?2认识4,4认识2吗?4认识2) 满足每个队伍内部是完全图,且两队人数差为 ,是可能的最小差。
数据范围
时空限制
- 时间限制:1 秒
- 空间限制:64 MB