U283445 模拟链表
题目背景
如题,用各种方法模拟以下链表。
题目描述
初始状态已知 $n$ 个节点。分别以 $1,2,...,n$ 编号。他们以这样的链进行单向传递:
$$
1 \rightarrow 2 \rightarrow 3 \rightarrow …… \rightarrow n-1 \rightarrow n
$$
接下来会有 $m$ 次调整,每一次的调整都会是如下两种指令之一:
- `1 x`,表示将编号为 $x$ 的节点从链表中删除,他的前驱和后继互相连接;
- `2 x y`, 表示将编号为 $y$ 的节点插入到编号为 $x$ 的节点后面,即 $x$ 连向 $y$ ,$y$ 向 $x$ 原来的后继进行连接。(保证 $x$ 在链且 $y$ 不在链中)
所有的指令保证合法,且不存在链中节点小于 $2$ 的情况。
现在请你输出经过 $m$ 次调整之后的链表。
输入格式
输入共 $m+1$ 行.
第 $1$ 行,两个正整数 $n,m$ ,含义如题面所示。
第 $2$ 到 $m+1 $行,每行为一个指令,具体如下:
- `1 x`
- `2 x y`
指令的含义如题面所示,保证 $1≤x,y≤n$,且当前操作合法。
输出格式
一行,表示最终的链表,每两个数用一个空格分开。
说明/提示
对于 $40\%$ 的数据 : $n,m\le 10^3$。
对于 $100\%$ 的数据 : $n,m\le 10^6$。