翻译
查看原帖
翻译
62054
JACKLOVEONE楼主2018/2/21 14:56

Q402: MAS*H Corporal Klinger在韩战期间服役于韩国第4077野战医院。他想尽办法要离开那个鬼地方。正好美国陆军下了一道命令要以乐透的方式让一些幸运的家伙(共有X个人)可以回美国休假。Klinger需要你的帮忙以离开那里。

乐透的方式是这样的:准备一副扑克牌,叫所有参加的人排成一列,然后翻开扑克牌中的第一张,假设该张扑克牌的点数是K,首先从第一个人算起,到第K个人那个人就被淘汰出列,然后下一个人又从1算起,第K个人又被淘汰出列,如此下去直到算到最后一人为止。当算完最后一人时(不管算到多少),翻开下一张扑克牌,然后依照上面的点数又从第一个人从1开始算,并且仿照前面的方式淘汰人。如此一直持续下去。当然,在淘汰的过程中,如果剩下的人数为X人,游戏就结束了,这X人就是可以回美国休假的幸运者。

Klinger有办法在扑克牌上面动手脚,所以他可以事先知道扑克牌的点数,但是在乐透开始之前一分钟他都无法知道到底会有多少人会参加乐透。你的任务就是帮他写一个程式,在最后一分钟知道有多少人参加后,马上为他算出他该站在哪一个位置,确保他可以回美国休假。

在此提供一个简单的例子,若有10个人参加乐透,且只能有2幸运的家伙,而扑克牌出现的点数依次是3,5,4,3,2的话,那么Klinger应该要排在第1或第8个位置。

Input

每组测试资料1列,每列固定有22个整数,第一个整数N(1 <= N <= 50)代表有多少人参加乐透。第二个整数X(1 <= X <= N)代表有多少个幸运的家伙可以回美国休假。接下来的20个整数依次为Klinger所提供的扑克牌出现的点数,这些点数为1到11的整数。

Output

每组测试资料请输出这是第几组测试资料以及Klinger可以站的位置(由小到大排)。如果在20张扑克牌内,游戏没有结束,请将队伍中还剩下的人印出。每组测试资料后空一列,请参考Sample Output。

Sample Input

10 2 3 5 4 3 2 9 6 10 10 6 2 6 7 3 4 7 4 5 3 2 47 6 11 2 7 3 4 8 5 10 7 8 3 7 4 2 3 9 10 2 5 3 Sample Output

Selection #1 1 8

Selection #2 1 3 16 23 31 47

2018/2/21 14:56
加载中...