#P1999. Quorf
Quorf
当前没有测试数据。
问题描述
为了保留“卡片”一词在名称中,KOKODáKH还包含一个不太知名的纸牌游戏,名为Quorf。这个游戏需要三副完全相同的卡片。卡片的类型不重要,例如可以使用仅编号的卡片。每张卡片在每副牌中只能出现一次。在游戏过程中,两名玩家为第三名玩家准备任务,第三名玩家尝试解决它。在某些条件下,这个游戏也可以作为单人游戏(即一个人的游戏)进行。KOKODáKH包含了这个游戏的变种。你需要编写的程序将扮演准备任务的两名玩家的角色。
游戏的规则非常简单。两名准备任务的玩家各自为一副牌选择任意卡片,并以固定的顺序洗牌(洗牌后的顺序不能改变)。“主要”玩家可以查看这两副牌,并任意排列自己的第三副牌。当然,他会尝试选择一种能让他在接下来的游戏中获胜的顺序。
在游戏过程中,两名玩家(在我们的情况下由程序代表)轮流从自己的牌堆顶部取出一张牌并放在桌子上。主要玩家随后从自己的牌堆中取出牌并放在桌子上。如果他取出一张已经由其他玩家放在桌子上的牌,那么该玩家的牌将被移出游戏。如果两名玩家都有相同的牌,并且主要玩家取出了这张牌,那么两名玩家的牌都将被移出游戏。游戏继续进行,直到主要玩家没有牌为止。然后,如果任何一名玩家还有牌,主要玩家就输了。如果两名玩家都没有牌,第三名玩家就赢了。
程序扮演两名准备任务的玩家的角色。生成这两副牌的内容并不困难。更困难的是判断第三名玩家是否能赢。你的任务是编写一个程序,能够判断这一点。
输入
输入由个任务组成。任务的数量由输入的第一行的一个正整数给出。每个任务描述如下。每个任务的第一行包含两个数字和(1 ≤ M, N ≤ 100000),用空格分隔。接下来的两行分别包含N个数字和M个数字,用空格分隔。这些数字表示两名准备任务的玩家的牌堆中卡片的顺序。在同一个序列中,任何数字都不会出现两次。因此,对于任何, ,如果 = 或 =,那么 = 。
输出
程序的目标是判断对于每个任务,是否存在一个序列,使得该序列中没有数字重复出现,并且卡片的顺序能导致主要玩家获胜。如果存在这样的序列,程序输出一行:(玩家可以赢)。如果不存在这样的序列,程序输出:(错误的顺序)。
输入示例 1
2
4 4
1 2 3 4
4 3 2 1
4 4
1 3 5 7
2 4 6 8
输出示例 1
Spatne usporadani.
Hrac ma sanci vyhrat.
来源
CTU Open 1999