许诺 • 25天前
#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N, K, P;
cin >> N >> K >> P;
deque<int> q;
for (int i = 1; i <= K; ++i) {
q.push_back(i);
}
vector<int> result;
int current_player = 1 % N;
for (int i = 0; i < K; ++i) {
int card = q.front();
q.pop_front();
if (current_player == 0) {
result.push_back(card);
}
for (int j = 0; j < P; ++j) {
if (q.empty()) break;
int move_card = q.front();
q.pop_front();
q.push_back(move_card);
}
current_player = (current_player + 1) % N;
}
sort(result.begin(), result.end());
for (int pos : result) {
cout << pos << endl;
}
return 0;
}
评论:
请先登录,才能进行评论