#include<bits/stdc++.h>
using namespace std;
int main() {
int n,k,m;
cin>>n>>k>>m;
list<int> li;
//添加元素
for(int i=0;i<n;i++){
li.push_back(i);
}
//从第k个元素开始
auto it=li.begin();
for(int i=0;i<k;i++){
it++;
if(it==li.end()){it=li.begin();}
}
//每次指到第m个人就删除,直到链表里面只剩下最后一个
while(li.size()>1){
for(int i=0;i<m-1;i++){
it++;
if(it==li.end()){it=li.begin();}
}
it=li.erase(it);//指向下一个迭代器
if(it==li.end()){it=li.begin();}
}
//输出最后一个人
cout<<li.front();
return 0;
}

京公网安备 11010502036488号