#abc225d. [abc225_d]Play Train
[abc225_d]Play Train
问题描述
Takahashi正在玩具火车,连接和断开它们。
有辆玩具火车车厢,编号为:第1辆车,第2辆车,...,第N辆车。
最初,所有车辆都是分离的。
您将获得个查询。按给定的顺序处理它们。查询有三种类型,如下所示。
-
1 x y
:将车辆的前部连接到车辆的后部。 可以保证:- 在此查询之前,没有任何火车连接到车辆的后部;
- 在此查询之前,没有任何火车连接到车辆的前部;
- 在此查询之前,车辆和车辆属于不同的连通分量。
-
2 x y
:断开车辆的后部与车辆的前部的连接。 可以保证:- ;
- 在此查询之前,车辆的前部直接连接到车辆的后部。
-
3 x
:从前到后打印包含车辆的连通分量中的车辆编号。
约束条件
- 输入中的所有值都是整数。
- 所有查询满足问题描述中的条件。
- 格式为
3 x
的查询要求总共打印最多个车辆编号。
输入
输入以以下格式从标准输入给出:
第个查询以整数 (, , or )开始,表示查询的类型,后跟和(如果或),且后跟(如果)。
简言之,每个查询有以下三种格式之一:
输出
如果的查询要求打印值,输出以下行:
您的输出应该包含行,其中是查询的数量。 第行应包含对第个这样的查询的响应。
样例输入 1
7 14
1 6 3
1 4 1
1 5 2
1 2 7
1 3 5
3 2
3 4
3 6
2 3 5
2 4 1
1 1 5
3 2
3 4
3 6
样例输出 1
5 6 3 5 2 7
2 4 1
5 6 3 5 2 7
4 1 5 2 7
1 4
2 6 3
下图显示了处理前个查询时的车辆情况。 例如,车辆属于与车辆相同的连通分量,与包含车辆的连通分量不同。
下图显示了处理前个查询时的车辆情况。