b616: 洗牌 (shuffle)
Tags :
Accepted rate : 0人/0人 (0%) [非即時]
評分方式:
Tolerant

最近更新 : 2026-02-08 12:19

Content

小 R 有 n 張互不相同的卡牌,編號分別為 1,2,3,…,n
他把這些卡牌依次放成一疊,卡牌的編號由上至下分別為 1,2,3,…,n
隨後,小 R 進行了 m 次洗牌操作,對於第 i 次操作:
• 他會選擇兩個正整數 l[i],r[i]
• 他會把第 l[i],l[i]+1,l[i]+2,…,r[i] 張卡牌拿出來,並放到最後。
• 注意:第 j 張卡牌並非表示該卡牌的編號為 j,而是指卡牌的所在位置。
小 R 想知道,操作後卡牌的編號順序為何。

Input

你需要在標準輸入 (stdin) 讀入數據。
輸入的第一行包含兩個正整數 n,m,以空格分隔。
接下來 m 行,第 i 行表示第 i 次操作:
• 包含兩個正整數 l[i],r[i],以空格分隔。

Output

你需要在標準輸出 (stdout) 輸出答案。
輸出 n 個整數,第 i 個整數表示操作後第 i 張卡牌的編號,以空格分隔。

Sample Input #1
5 5
1 3
2 4
5 5
1 2
3 4
Sample Output #1
5 1 3 2 4
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1K
公開 測資點#3 (10%): 1.0s , <1M
公開 測資點#4 (10%): 1.0s , <1M
公開 測資點#5 (10%): 1.0s , <1M
公開 測資點#6 (10%): 1.0s , <1M
公開 測資點#7 (10%): 1.0s , <1M
公開 測資點#8 (10%): 1.0s , <1M
公開 測資點#9 (10%): 1.0s , <1M
Hint :

【樣例1 解釋】
操作前,卡牌的編號依次為 1,2,3,4,5
第一次操作:把第 1,2,3 張卡牌放到最後,卡牌的編號變為 4,5,1,2,3
第二次操作:把第 2,3,4 張卡牌放到最後,卡牌的編號變為 4,3,5,1,2
第三次操作:把第 5 張卡牌放到最後,卡牌的編號不變。
第四次操作:把第 1,2 張卡牌放到最後,卡牌的編號變為 5,1,2,4,3
第五次操作:把第 3,4 張卡牌放到最後,卡牌的編號變為 5,1,3,2,4
因此,最終的卡牌編號順序為 5,1,3,2,4

【數據範圍】
對於所有測試數據,保證:
n≤1000
m≤1000
• 對於所有滿足 1≤i≤m 的整數 i,l[i]<r[i]≤n

Tags:
出處:
[管理者:
ricky (電腦黃)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」