有一个包含 个顶点的有向图。顶点编号为 。
每个顶点 都有一个值 。有向边按照以下规则存在。
请在该图中找出一条 哈密顿路径,即一条恰好访问每个顶点一次的路径。
路径中每两个连续访问的顶点之间,都必须存在一条与行进方向一致的有向边。路径不需要回到起点。
例如,当 且 时, 是一条哈密顿路径。它恰好访问每个顶点一次,并且有向边 、、 均存在。
输入按以下格式从标准输入给出。
对于每个测试用例,如果不存在哈密顿路径,则在一行中输出 -1。
如果存在哈密顿路径,设路径按访问顺序经过的顶点为 。在一行中用空格分隔输出 。序列 必须是 的一个排列,并且对于所有 ,都必须存在一条从顶点 指向顶点 的有向边。
在第一个测试用例中,路径 是一条哈密顿路径。
在第二个测试用例中,不存在哈密顿路径。
其余输出行也都是对应测试用例中满足条件的哈密顿路径示例。
每个测试用例按以下格式给出。
如果有多个可行解,输出任意一个即可。
| 3 | 22 | (). 즉, 들이 나온 뒤 들이 나온다. 모든 원소가 이거나 모두 인 경우도 포함한다. |
| 4 | 47 | 추가적인 제약이 없다. |