A96778.午枫的玩具火车
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小午新买了一个玩具火车,一共有 n 节车厢,编号 1∼n,每一节车厢都有头部和尾部之分并且都可以进行连接和分离。一开始,所有的火车车厢都是分开的,互不连接。
现在小枫会按顺序进行 q 次操作,每次操作为以下 3 中类型中的一种:
1 x y:将车厢 x 的尾部与车厢 y 的头部连接。执行该操作前,保证以下条件成立:- x=y
- 在执行该操作前,车厢 x 的尾部没有连接其他车厢
- 在执行该操作前,车厢 y 的头部没有连接其他车厢
- 在执行该操作前,车厢 x 和车厢 y 属于不同的火车
2 x y:将车厢 x 的尾部与车厢 y 的头部分离。 执行该操作前,保证以下条件成立:- x=y
- 在执行该操作前,车厢 x 的尾部与车厢 y 的头部直接连接
3 x:先输出对应车厢所在火车的车厢数量,再输出包含车厢 x 的火车中所有车厢的编号,按从头到尾的顺序输出。
输入格式
第一行输入两个整数 n,q ,分别表示车厢的个数和操作的次数。
接下来 q 行,每行的输入格式及意义见题面所示。
输出格式
对于每一个第 3 类操作,先输出对应车厢所在火车的车厢数量,然后从头到尾将所在火车的所有车厢编号按顺序输出。
每个第 3 类操作的输出占一行。
输入输出样例
输入#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
说明/提示
数据范围
对于 100% 的数据,满足:2≤n≤105,1≤q≤105 ,保证所有第 3 类操作,输出的车厢个数总和不超过 106 。