记录编号 550172 评测结果 AAAAAAAAAA
题目名称 [USACO20 Feb Silver]Swapity Swapity Swap 最终得分 100
用户昵称 Gravatar夜莺 是否通过 通过
代码语言 C++ 运行时间 0.172 s
提交时间 2020-03-03 21:36:05 内存使用 5.54 MiB
显示代码纯文本
#include<cstdio>
using namespace std;
const int MAXN=100010;
int ans[MAXN],fu[MAXN],mi[MAXN];
int n,m,k;
int main(){
	freopen("usaco_Feb_swap.in","r",stdin);
	freopen("usaco_Feb_swap.out","w",stdout);
	scanf("%d%d%d",&n,&m,&k);
	for(int i=1;i<=n;i++)
		fu[i]=ans[i]=i;
	for(int i=1,l,r;i<=m;i++){
		scanf("%d%d",&l,&r);
		for(int i=l;i<=r;i++)
			fu[i]=ans[l+r-i];
		for(int i=1;i<=n;i++)
			ans[i]=fu[i];
	}
	for(int i=1;i<=n;i++){
		mi[i]=ans[i];
		ans[i]=i;
	}
	while(k){
		if(k&1){
			for(int i=1;i<=n;i++)
				ans[i]=mi[ans[i]];
		}
		for(int i=1;i<=n;i++)
			fu[i]=mi[mi[i]];
		for(int i=1;i<=n;i++)
			mi[i]=fu[i];
		k>>=1;
	}
	for(int i=1;i<=n;i++)
		printf("%d\n",ans[i]);
	return 0;
}