问题 1039. -- 饭桌上的游戏

1039: 饭桌上的游戏

时间限制:1000 ms 内存限制:128 MB
提交:141 解决:26
[ 提交][ 状态][ 讨论版]

题目描述

毕业季到了,一个学校的n个好朋友(编号从1到n)聚在一起吃饭。这些好朋友的饭量是Xi(i从1到n),反应能力是Yi(i从1到n,且保证都不同),镇静能力是Zi(i从1到n,且保证都不同)。
他们围坐在一个非常大的圆桌上,从1号青年开始,顺时针轮流抽扑克牌。扑克牌不分花色,点数从1到6。抽到不一样的牌,有不一样的惩罚机制:
抽到1:反应能力最低的人吃一口饭。
抽到2:镇静能力最差的人吃一口饭。
抽到3:这个人被诅咒,以后不管谁被罚吃饭,这个人都得陪吃一口饭。(如果是自己被罚吃饭,则不用多吃)
抽到4:这个人的上一位吃一口饭。
抽到5:这个人的下一位吃一口饭。
抽到6:这个人自己吃一口饭。
每当有人吃饱(即已经吃的饭口数等于其饭量),则退出游戏。游戏最终剩余人数<=1时游戏结束。

输入

有多组输入数据,第一行为一个数字T,代表有T组输入数据 (0接下来有T组数据,每组数据第一行是两个正整数n(n<=1000),m(m<=20000)表示参与游戏的人数与游戏发的牌数。之后读入4行,第一行是n个数字,表示Xi,(1<=Xi<=5),第二行是n个数字,表示Yi,第三行是n个数字,表示Zi。第四行是m个整数Ki(1<=Ki<=6),表示每一回合发的牌。

输出

一共T行。
对于每一组数据,若游戏结束且只有一人胜利,输出获胜的人,若游戏结束且所有人都退出游戏,输出0,若游戏尚未结束,输出-1。

样例输入

1 3 3 1 1 1 1 2 3 1 2 3 6 6 6

样例输出

3

提示

第一个人和第二个人分别抽到了自己吃饭,吃饱退出游戏,第三个人获胜。

来源

[ 提交][ 状态][ 讨论版]
Baidu
map