30111 - XYZZY
时间限制 : 1 秒
内存限制 : 128 MB
最近,人们发现可以在 Y-Crate 游戏设备上运行开源软件。许多富有创意的设计师为 Y-Crate 开发了类似 Advent 风格的游戏。你的任务是测试其中一些设计,看看哪些游戏能够通关。
每个游戏由不超过 100 个房间组成。其中一个房间是起点,另一个房间是终点。每个房间都有一个介于 -100 和 +100 之间的能量值。房间之间通过单向门相互连接。
玩家从起点房间出发,初始拥有 100 点能量。她可以通过任何一扇从当前房间通往其他房间的门,进入对应的房间。进入房间后,该房间的能量值会加到玩家当前的能量上。这个过程会一直持续,直到她进入终点房间并获胜,或因能量耗尽而死亡(当然,也可能因为绝望而放弃)。在冒险过程中,玩家可以多次进入同一个房间,并且每次都会获得该房间的能量值。
输入
输入包含多个测试用例。每个测试用例首先给出一个整数 n,表示房间数量。房间编号为 1(起点)到 n(终点)。接下来给出这 n 个房间的信息。每个房间的信息由一行或多行组成,包含:
- 房间 i 的能量值
- 从房间 i 出发的门的数量
- 通过这些门可以到达的房间编号列表
起点房间和终点房间的能量值始终为 0。最后一个测试用例之后会有一行 -1。
输出
对于每个测试用例,输出一行:如果玩家有可能获胜,输出 winnable;否则输出 hopeless。
样例
输入
5 0 1 2 -60 1 3 -60 1 4 20 1 5 0 0 5 0 1 2 20 1 3 -60 1 4 -60 1 5 0 0 5 0 1 2 21 1 3 -60 1 4 -60 1 5 0 0 5 0 1 2 20 2 1 3 -60 1 4 -60 1 5 0 0 -1
输出
hopeless hopeless winnable winnable