65,求调
查看原帖
65,求调
1432246
_qumingnan_楼主2024/11/13 16:02

结果

找的规律,规律如下:

把下面的各个数加上T

代码:

#include<bits/stdc++.h>
using namespace std;
int n,K,T;
int a[200005],k[200005],c[200005],i;
int main(){
//	freopen("rotate.in","r",stdin);
//	freopen("rotate.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin>>n>>K>>T;
	cin>>k[1];
	for(i=1;i<=n;i++)a[i]=i;
	for(i=2;i<=K;i++){
		cin>>k[i];
		int t=T%(k[i]-k[i-1]),b=k[i]-k[i-1];
		for(int j=k[i-1];j<k[i];j++){
			int J;
			if(j-k[i-1]<t)J=k[i]+j-k[i-1]-t;
			else J=j-t;
			a[J]=j;
		}
	}
	for(i=0;i<n;i++)c[(i+T)%n]=a[i];
	for(i=0;i<n;i++)cout<<c[i]<<' ';
	return 0;
}
2024/11/13 16:02
加载中...