class Solution {
public:
int lastRemaining(int n, int m){
queue<int> q;
for (int i = 0; i < n; i++) q.push(i);
int cnt = 0;
int s = q.size();
while (cnt < n - 1) {
int cur = 0;
while (cur < m - 1){ // 每次从0开始走m - 1步
int t = q.front();
q.pop();
q.push(t);
cur ++;
}
q.pop();//删除第m个元素
cnt ++;
}
return q.front();
}
};