#jag2017summerday3c. [jag2017summer_day3_c]Ninja Map
[jag2017summer_day3_c]Ninja Map
问题描述
跨越路径城市的交叉口排列成网格形式。有 条东西向街道,编号从 1 到 ,从北到南。还有 条南北向街道,编号从 1 到 ,从西到东。每一对东西向和南北向街道都有一个交叉口;因此共有 个交叉口,编号从 1 到 。
令人惊讶的是,这座城市的所有居民都是忍者。为了防止外人知道他们的位置,交叉口的编号被打乱了。
你了解交叉口之间的连接,并尝试根据这些信息推断它们的位置。如果存在多个可能的位置集合,则可以输出其中任意一个。
输入
输入包含一个测试用例,格式如下。
第一行包含一个整数 。接下来的 行表示交叉口之间的连接。第 行包含两个整数 和 (, ),表示第 个和第 个交叉口相邻。更具体地说,设 表示第 条东西向街道和第 条南北向街道的交叉口。如果 的交叉口编号为 ,那么 、、 或 的交叉口编号必须为 。所有的连接输入都是不同的,即 和 对于所有 。这意味着你获得了网格上所有连接的信息。
输入保证描述了一个有效的地图。
输出
输出交叉口的一组可能位置。更具体地说,输出包含 行,每行由空格分隔的 个整数组成。第 行的第 个整数应该是 的交叉口编号。
如果存在多个可能的位置集合,则可以输出其中任意一个。
示例输入 1
3
1 2
4 7
8 6
2 3
8 9
5 3
4 6
5 6
7 8
1 4
2 6
5 9
示例输出 1
7 4 1
8 6 2
9 5 3
下面的输出也是可以接受的。
1 2 3
4 6 5
7 8 9
示例输入 2
4
12 1
3 8
10 7
13 14
8 2
9 12
6 14
11 3
3 13
1 10
11 15
4 15
4 9
14 10
5 7
2 5
6 1
14 5
16 11
15 6
15 13
9 6
16 4
13 2
示例输出 2
8 2 5 7
3 13 14 10
11 15 6 1
16 4 9 12