SP3579 DISJPATH - Disjoint Paths

题目描述

班里有 $K$ 个学生彼此之间互相厌恶。他们迫切希望能找到通往教室的独立路线,这样就能避免在课堂之外碰面。你能帮助他们找到这样的路线吗?

输入格式

输入文件包含多个测试用例。每个测试用例的第一行包含 $K$ 和 $N$,其中 $K$ 表示需要找到的路线数量,$N$ 表示麻省理工学院楼层平面图中的交叉口数量,交叉口编号为 $1, \ldots, N$。接下来有 $N$ 行,每行描述一个交叉口,列出与其直接相连的交叉口编号,编号之间用空格分隔。(也就是说,如果交叉口 2 的行中有 3,那么交叉口 3 的行中也会有 2。)每个交叉口至少与一个其他交叉口相连。输入的最后是一个单独的 "0 0" 标志,表示输入结束。假设 $1 \le K \le 100$ 且 $2 \le N \le 5000$。所有学生从交叉口 1 出发,其教室位于交叉口 2。

输出格式

对于每个测试用例,先输出 "Case #:" 加上测试用例编号,并换行。如果从起点(1)到终点(2)存在 $K$ 条互不相交的路线,则输出 $K$ 行,每行列出从 1 到 2 的一个路线上的交叉口编号,按顺序排列。如果没有这样的路线,则输出 "Impossible"。每个测试用例的结果后面加一个空行。

说明/提示

$$1 \le K \le 100, \quad 2 \le N \le 5000$$ **本翻译由 AI 自动生成**