#P09003. 约瑟夫问题

约瑟夫问题

题目背景

据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,3939 个犹太人与Josephus及他的朋友躲到一个山洞中,3939 个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,4141 个人排成一个圆圈,由第 11 个人开始报数,每报数到第 33 人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。Josephus要他的朋友先假装遵从,他将朋友与自己安排在第 1616 个和第 3131 个位置,于是逃过了这场死亡游戏。

题目描述

将问题简化,nn 个人围成一个圆圈,每个人的编号依次是 123n1、2、3、……、n。从第一个人开始数数,数到 mm 的人出圈。然后由出圈的下一个人重新数数,数到 mm 的人又出圈……输入 nnmm 以及 nn 个人的姓名和性别,依次输出出圈人的信息。

需要特别注意的是,mm 可能远大于 nn

输入格式

11 行是两个正整数 n,mn,m

紧接着有 nn 行,依次是编号从 11 开始的 nn 个人的姓名和性别,姓名和性别都是不包含空格且长度不超过 1010 的字符串,性别只会是 MaleFemal 中的一种,两者之间用一个空格隔开。

输出格式

nn 行,每行依次是出圈人的编号、姓名和性别,用一个空格隔开每项数据。

输入输出样例

5 3
Jerry Male
Jack Male
Lucy Femal
Tim Male
Sara Femal
3 Lucy Femal
1 Jerry Male
5 Sara Femal
2 Jack Male
4 Tim Male

说明/提示

👀️ 对于100%100\%的数据,1n10001m1081 \leq n \leq 1000,1 \leq m \leq 10^8