当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

7003:猎人杀

题目描述
猎人杀是一款著名的游戏。

有 $n$ 位玩家,其中 $n-1$ 位玩家是猎人, $1$ 位玩家是狼人。

当一位猎人死去,则一定会开枪打死一名玩家,不能打死已经死亡的玩家或自己。猎人没有死亡时不能开枪,会在死后开枪。

在第一天晚上,狼人先杀死了**任意**一位玩家。

在第二天早上,会触发有一位玩家死亡的事件。

每次有一位玩家死亡时,会广播死亡玩家的编号。此时如果死亡玩家是狼人,则游戏结束,猎人胜利。如果死亡玩家是猎人,且当前场上存活的玩家数不超过 $2$,则游戏结束,狼人胜利。如果死亡玩家是猎人,则在游戏是否结束的判定后,其可以选择一名还存活的玩家开枪将其杀死,这样会一直重复上述流程直到游戏结束。

每个猎人都有一个想打死的人的排名表,当这位猎人死去时,其会从其的排名表中依次检查,找到排名最靠前的还存活的人,开枪将其打死。

现在给出每个编号的人的身份,以及每个猎人被杀死时想打死的人的排名,求游戏的结果。
输入解释
本题有多组测试数据。

第一行,一个正整数 $T$ $(1 \le T \le 3000)$ 表示数据组数。

对于每组数据,第一行一个整数 $n$ $(3 \le n \le 50)$。

之后一行 $n$ 个整数表示每个人的身份,第 $i$ 个整数为 $1$ 则表示 $i$ 是狼人,为 $0$ 则表示 $i$ 是猎人。

之后 $n$ 行,一行 $n$ 个数,从这里开始的第 $i$ 行表示编号 $i$ 的人想杀死的人的排名表,保证是一个 $1$ 到 $n$ 的排列,如果 $i$ 是猎人,则这个是其死亡时想打死的人的排名表,如果 $i$ 是狼人,则这个排名表中第一个人是其第一天晚上会杀死的人。
输出解释
对于每组数据,一行一个字符串,"langren" 表示狼人胜利,"lieren" 表示猎人胜利。
输入样例
5
3
0 1 0
3 1 2
2 3 1
2 3 1
4
1 0 0 0
1 2 4 3
4 3 2 1
3 4 1 2
4 2 1 3
8
0 0 0 1 0 0 0 0
2 8 3 4 6 5 1 7
5 4 7 3 1 2 8 6
2 1 5 6 8 3 7 4
7 5 8 2 3 4 6 1
8 3 4 6 7 1 2 5
6 7 2 4 3 8 5 1
4 7 3 1 6 5 8 2
8 4 3 1 6 5 7 2
5
1 0 0 0 0
3 4 1 5 2
2 4 1 5 3
2 1 3 5 4
5 2 1 3 4
5 1 4 3 2
6
0 0 1 0 0 0
6 2 3 5 4 1
6 2 1 4 3 5
2 1 3 5 4 6
6 5 3 2 4 1
1 5 3 2 4 6
1 3 4 6 2 5
输出样例
lieren
lieren
lieren
langren
lieren

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-7003

最后修改于 2021-10-23T19:11:00+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
2000/1000MS(Java/Others) 32768/32768K(Java/Others)