P2175 小Z的游戏分队

题目描述

小 Z 受不了寂寞,准备举办一次 DOTA 比赛,为了能让 ACM 班全部都参加比赛,他还特制了一张 DOTA 地图能够支持任意多人打任意多人。 现在问题来了,怎么把这么多人分成两队?小 Z 的想法是,每个人报上自己愿意同队的同学,接着小 Z 会按如下要求将所有人分为两队: 对任意同学甲,和同学甲同队的人,必须都是同学甲愿意同队的同学。 小 Z 希望两队的人数差尽量小,如果这种分组不存在,那么输出 `No solution`。

输入格式

输出格式

说明/提示

对于 $30\%$ 的数据,$N \leq 10$; 对于 $100\%$ 的数据,$N \leq 2000$。