× AC 后请勿重新提交,最终分数以最后一次 AC 时间为准~

猎人杀

Accepts: 1244
Submissions: 3287
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description
猎人杀是一款著名的游戏。 有 $n$ 位玩家,其中 $n-1$ 位玩家是猎人, $1$ 位玩家是狼人。 当一位猎人死去,则一定会开枪打死一名玩家,不能打死已经死亡的玩家或自己。猎人没有死亡时不能开枪,会在死后开枪。 在第一天晚上,狼人先杀死了**任意**一位玩家。 在第二天早上,会触发有一位玩家死亡的事件。 每次有一位玩家死亡时,会广播死亡玩家的编号。此时如果死亡玩家是狼人,则游戏结束,猎人胜利。如果死亡玩家是猎人,且当前场上存活的玩家数不超过 $2$,则游戏结束,狼人胜利。如果死亡玩家是猎人,则在游戏是否结束的判定后,其可以选择一名还存活的玩家开枪将其杀死,这样会一直重复上述流程直到游戏结束。 每个猎人都有一个想打死的人的排名表,当这位猎人死去时,其会从其的排名表中依次检查,找到排名最靠前的还存活的人,开枪将其打死。 现在给出每个编号的人的身份,以及每个猎人被杀死时想打死的人的排名,求游戏的结果。
Input
本题有多组测试数据。 第一行,一个正整数 $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$ 是狼人,则这个排名表中第一个人是其第一天晚上会杀死的人。
Output
对于每组数据,一行一个字符串,"langren" 表示狼人胜利,"lieren" 表示猎人胜利。
Sample Input
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
Sample Output
lieren
lieren
lieren
langren
lieren