小 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 想知道,操作後卡牌的編號順序為何。
你需要在標準輸入 (stdin) 讀入數據。
輸入的第一行包含兩個正整數 n,m,以空格分隔。
接下來 m 行,第 i 行表示第 i 次操作:
• 包含兩個正整數 l[i],r[i],以空格分隔。
你需要在標準輸出 (stdout) 輸出答案。
輸出 n 個整數,第 i 個整數表示操作後第 i 張卡牌的編號,以空格分隔。
5 5 1 3 2 4 5 5 1 2 3 4
5 1 3 2 4
【樣例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。
| ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |
|||||