TopCoder

User's AC Ratio

71.4% (5/7)

Submission's AC Ratio

17.5% (7/40)

Tags

Description

你看過中國人排隊嗎?

中國人排隊是一種神奇的現象,為了方便解釋這種現象,姑且說現在有$N$個人在排隊吧,由左到右分邊編號為$1\text{~}N$,接著會發生一連串,精確一點,是$M$個事件,事件有以下兩種型態:
事件$1$:位置在$[L,R]$區間內的人必須反轉,所謂反轉就是第$L$個人要跟第$R$個人交換、第$L+1$個人跟第$R-1$交換,以此類推。
事件$2$:位置在$[L_1,R_1]$區間內的人與位置在$[L_2,R_2]$區間內的人交換位置,可是要保持原來的順序。

身為台灣人的你實在是太震驚了,為了記下你眼前看到的這場排隊盛宴,你決定預測在$M$個事件發生過後,隊列的情況會是如何。

Input Format

輸入第一行包含兩格正整數$N,M$,代表有$N$個人在排隊,之後發生了$M$個事件。
接著$M$行每行以一個數字$c$開頭,
若$c=1$,後面接著兩個正整數$L,R$(保證$1\le L \le R \le N$),代表將區間$[L,R]$的人反轉。
若$c=2$,後面接著四個正整數$L_1,R_1,L_2,R_2$(保證$1 \le L_1 \le R_1 \le L_2 \le R_2 \le N$),代表將區間$[L_1,R_1]$以及區間$[L_2,R_2]$的人交換位置。

$\color{red}{ \large{本題測資有誤,待重生測資}}$

Output Format

輸出事件過後,由左至右$N$個人的編號。

Sample Input

7 2
1 1 4
2 1 2 5 7

Sample Output

5 6 7 2 1 4 3

Hints

For $5\%$ of the testdata: $N\le 100,M\le10$
For $25\%$ of the testdata: $N\le 1000,M\le100$
For $50\%$ of the testdata: $N\le 10000,M\le1000$
For $70\%$ of the testdata: $N\le 100000,M\le10000$
For $100\%$ of the testdata: $N\le 1000000,M\le10000$

由於輸入量可能很大,使用C++的建議加上cin.tie(0); ios_base::sync_with_stdio(false);

Problem Source

Subtasks

For Testdata: 0 ~ 3, Score: 5
For Testdata: 4 ~ 7, Score: 20
For Testdata: 8 ~ 11, Score: 25
For Testdata: 12 ~ 15, Score: 20
For Testdata: 16 ~ 19, Score: 30
No. Time Limit (ms) Memory Limit (KiB) Output Limit (KiB)
0 1000 65536 65536
1 1000 65536 65536
2 1000 65536 65536
3 1000 65536 65536
4 1000 65536 65536
5 1000 65536 65536
6 1000 65536 65536
7 1000 65536 65536
8 1000 65536 65536
9 1000 65536 65536
10 1000 65536 65536
11 1000 65536 65536
12 1000 65536 65536
13 1000 65536 65536
14 1000 65536 65536
15 1000 65536 65536
16 2000 65536 65536
17 2000 65536 65536
18 2000 65536 65536
19 2000 65536 65536