比赛 |
2024暑假C班集训E |
评测结果 |
AAAAAAAAAA |
题目名称 |
Swapity Swapity Swap |
最终得分 |
100 |
用户昵称 |
wdsjl |
运行时间 |
0.170 s |
代码语言 |
C++ |
内存使用 |
5.47 MiB |
提交时间 |
2024-07-14 11:10:30 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int n,m,k,l[N],r[N];
struct node{
int m[N];
}a,e;
void init(){
for(int i=1;i<=n;i++){
a.m[i]=e.m[i]=i;
}
for(int i=1;i<=m;i++){
scanf("%d%d",&l[i],&r[i]);
reverse(e.m+l[i],e.m+r[i]+1);
}
}
node solve(node x,node y){
node c;
for(int i=1;i<=n;i++){
c.m[i]=x.m[y.m[i]];
}
return c;
}
void quai(int p){
while(p!=0){
if(p&1)a=solve(a,e);
p>>=1;e=solve(e,e);
}
}
int main(){
freopen("usaco_Feb_swap.in","r",stdin);
freopen("usaco_Feb_swap.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
init();
quai(k);
for(int i=1;i<=n;i++)
printf("%d\n",a.m[i]);
return 0;
}