有n个人围成一圈,第一次杀掉第m个人,之后每次杀掉往后数k个数位置的人,求最后一个活着的人的位置。
Input
多组输入,每行三个数n,k,m
2 ≤ n ≤ 10000, 1 ≤ k ≤ 10000, 1 ≤ m ≤ n
最后一行为0,0,0
Output
每组数据输出一行表示最后活下来的人的位置
Sample Input 1
8 5 3
100 9999 98
10000 10000 10000
0 0 0
Sample Output 1
1
93
2019
1000ms,朴素铁定T
由于一开始就要毙掉第m号,众所周知原版的dp解法是把杀掉的第一个人(也就是第k号)转换到第0号位置,所以这里就要把第一个杀掉的第m号位置转到第k号位置来满足原版的dp解法。也就是-(k-m)
这题k可以大于n,所以%n,为防止出现0和-1,后续再取模。
#include <bits/s