49分求助!!!
查看原帖
49分求助!!!
644394
dongrq_cs楼主2023/8/4 21:27
#include <bits/stdc++.h>
using namespace std;
/*
49分思路:
对位置上的牛编号pos数组进行模拟,对活跃位置a数组进行模拟,pos数组的变动依赖于a数组,循环t遍即可 
*/
const int N = 2e5 + 5;
long long n,k,t;
long long a[N],pos[N];
int main(){
	cin >> n >> k >> t;
	for(int i = 1;i <= k;i++){
		cin >> a[i];
	}
	for(int i = 0;i < n;i++){
		pos[i] = i;
	}
	for(int i = 1;i <= t;i++){
		vector<int> tot;
		for(int i = 1;i <= k;i++){
			tot.push_back(pos[a[i]]);
		}
		for(int i = 0;i < k;i++){
			pos[a[i + 1]] = tot[(i - 1 + k) % k];
		}
		for(int i = 1;i <= k;i++){
			a[i] = (a[i] + 1) % n;
		}
	}
	for(int i = 0;i < n;i++){
		cout << pos[i] << ' ';
	}
	return 0;
}
2023/8/4 21:27
加载中...