#agc002c. [agc002_c]Knot Puzzle
[agc002_c]Knot Puzzle
题目描述
我们有 条绳子,编号从 到 。第 条绳子的长度为 。
一开始,对于每个 ,绳子 和绳子 的末端被捆绑在一起,形成 个结的一根长绳。Snuke 将尝试通过重复执行以下操作来解开所有的结:
- 选择一条(连接的)绳子,其总长度至少为 ,然后解开其中一个结。
能否通过适当地应用这个操作来解开所有的 个结?如果答案是肯定的,请找到一种可能的解结顺序。
约束条件
- 所有输入值均为整数。
输入
输入以以下格式从标准输入中给出:
输出
如果无法解开所有 个结,打印 Impossible
。
如果可以解开所有的结,请打印 Possible
,然后打印另外 行,描述一种可能的解结顺序。其中,这 行中的第 行应包含第 次操作解开的结的索引。这里,连接绳子 和绳子 的结的索引是 。
如果有多个解决方案,则输出任意一个。
样例输入 1
3 50
30 20 10
样例输出 1
Possible
2
1
如果首先解开结 ,将导致无法解开结 。
样例输入 2
2 21
10 10
样例输出 2
Impossible
样例输入 3
5 50
10 20 30 40 50
样例输出 3
Possible
1
2
3
4
另一种可能的解决方案是 ,,,。