每日AC

许诺  •  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;
}

评论:

请先登录,才能进行评论