1003: Hit or Miss

 

Q1003: Hit or Miss

—问题描述

一个非常简单的纸牌游戏叫做“Hit or Miss”(也叫做“Frustration”,“Harvest”,“Roll-Call”,“Talkative”或“Treize”),它的玩法如下:准备一副已经洗乱的52张的扑克牌——4个由113的集合(花色对此游戏没有影响),然后开始数123,……,等,当你数到13时,又从1开始数。每数一个数,看看最上面的牌,如果你数到的数与牌面的数值相等,丢弃这张牌,如果不相等,将此牌移到整副牌的底部。如果你能够移去整副牌(这将会花费非常长的时间),那么你就会赢得此游戏。

这个游戏的一个版本还可以有两位或更多的游戏者。第一位游戏者像先前那样拥有一副52张的牌,而其他游戏者起初是没有牌的。当第一位游戏者移去牌时,那将移去的牌交给第二位游戏者,然后第二位游戏者开始同样的游戏,他将移去的牌交给第三位游戏者,依此类推。最后一位游戏者会直接将牌丢弃,而不是交给第一位游戏者。所有的游戏者都遵循如下的两步循环:

1.       每位游戏者检查当前所数之数与最上面的牌是否匹配。如果不匹配,那么便将此牌移至整副牌的底部,否则将此牌交给下一位游戏(最后一位游戏者直接将牌丢弃)。

2.       每位游戏者拿到传过来的牌后,将此牌放到整副牌的底部。

这些步骤会一直重复下去,直到赢得游戏(所有的牌都被最后一位游戏者丢弃),或者出现无法获胜的局面。如果某位游戏者没有牌了,他将会等待传过来的牌,然后从中断的位置继续数(例如:如果第三位游戏者数到7时将最后一张牌传给每四位游戏者,他会等待直到从第二位游戏者手中获得牌,然后继续从8开始向后数)。

—输入格式

输入包含多组输入集。输入的第一行包含一个正整数,表示输入集的数量。每个输入集为单独一行包含53个整数。第一个整数表示游戏者的数目,余下的52个值是整副牌的初始顺序,第一个值是最上面的牌。这些值都在[1, 13]范围内,游戏者的数目在[1, 10]范围内。

—输出格式

对于每个输入集,输出输入集的编号(如下所示,由1开始)然后是“unwinnable”或一列数表示每位游戏者丢弃的最后一张牌。

—输入样例

    2

    4 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13

    4 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 1

—输出样例

    Case 1: 13 13 13 13

    Case 2: unwinnable

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值