3628: 牛牛的猜球游戏(第一轮02)
题目描述
牛牛和牛妹在玩猜球游戏,牛牛首先准备了 10 个小球,小球的编号从 0~9。首先 牛牛把这 10 个球按照从左到右编号为 0,1,2,3...9 的顺序摆在了桌子上,接下来牛 牛把这 10 个球用 10 个不透明的杯子倒扣住。
牛牛接下来会按照一定的操作顺序以极快的速度交换这些杯子。 换完以后他问牛妹你看清楚从左到右的杯子中小球的编号了么?
由于牛妹的动态视力不是很好,所以她跑来向你求助。你在调查后发现牛牛置换 杯子其实是有一定原则的。
具体来讲,牛牛有一个长度大小为 n 的操作序列。
操作序列的每一行表示一次操作都有两个非负整数 a,b,表示本次操作将会交换 从左往右数第 a 个杯子和从左往右数第 b 个杯子(a 和 b 均从 0 开始数)。请注 意是换杯子,而不是直接交换 a 号球和 b 号球。
牛牛和牛妹一共玩了 m 次猜球游戏,在每一轮游戏开始时,他都将杯子中的小 球重置到从左往右依次为 0,1,2,3...9 的状态。
然后在第 i 轮游戏中牛牛会按照操作序列中的第li 个操作开始做, 一直做到第ri 个操作结束(l和 r 的编号从 1 开始计算)。
由于你提前搞到了牛牛的操作序列以及每一次游戏的 l,r。请你帮助牛妹回答出牛 牛每一轮游戏结束时,从左至右的杯子中小球的编号各是多少。
输入
首先输入一行两个正整数 n,m,表示操作序列的长度以及进行游戏的次数。
接下来 n 行每行两个非负整数 a,b,表示交换左数第 a 个杯子和左数第 b 个杯子。(a,b 均从 0 开始数起)
接下来 m 行每行两个正整数 l,r 表示该轮游戏中牛牛从第 l 个操作开始做, 一直 做到第 r 个操作结束。(l和 r 的编号从 1 开始计算)
输出
对于每一轮游戏,输出一行 10 个非负整数, 表示从左至右每一个杯子中小球, 输出的整数之间用空格隔开,行末不允许有多余空格。
样例输入 复制
5 3
0 1
1 2
2 3
0 1
9 0
1 5
5 5
3 5
样例输出 复制
9 1 3 0 4 5 6 7 8 2
9 1 2 3 4 5 6 7 8 0
9 0 3 2 4 5 6 7 8 1
提示
【数据范围】
对于30%的测试数据,保证1 ≤ n, m ≤ 500
对于60%的测试数据,保证1 ≤ n, m ≤ 4 × 10^4
对于60%以外另10%的数据,保证输入的a, b ∈ {0, 1,2}
对于100%的测试数据,保证1 ≤ n, m ≤ 10^5,0 ≤ a, b ≤ 9, 1 ≤ l ≤ r ≤ n