小火车
Time Limit: 1000 ms
Memory Limit: 65536 KiB
Problem Description
春节到啦,bLue 获得了一份礼物,就是一套小火车玩具。他表示喜欢得不得了,并且热衷于拼接小火车。
现在,bLue 有 n 列小火车,每列小火车都有标有序号(从 1 开始)的火车头和若干标有数字的车厢组成。他可以随性地把两列小火车 a, b 拼接为一列火车,即 b 火车的车头连接到 a 火车的最后一节车厢后面。并且,他还想知道某个火车头后面的车厢都有哪些。
当然,最近 bLue 越来越懒了,他会给出 m 次操作让你来帮他完成。
其中操作分为 2 种:
- 操作 1:把 b 火车连接到 a 火车的最后面。
- 操作 2:询问序号为 a 的火车头后面的所有车厢(以车厢上的数字表示)。
Input
输入数据有多组(数据组数不超过 20),到 EOF 结束。
对于每组数据:
- 第 1 行输入一个整数 n (1 <= n <= 1000),表示 bLue 初始时有 n 列小火车。
- 接下来有 n 行,每行先输入一个整数 len (1 <= len <= 100),表示该列小火车的车厢数。其后紧跟 len 个用空格隔开的整数 v (0 <= v <= 100),表示每节车厢上的数字。输入按照火车头序号从 1 到 n 给出。
- 之后输入一个整数 m (1 <= m <= 1000),表示操作次数。
- 最后有 m 行,每行的输入格式根据操作类型有如下情况 (序号均在 1~n 的范围内):
- 1 a b: 把序号为 b 的火车连接到序号为 a 的火车的后面。
- 2 a: 输出序号为 a 的火车头后面的所有车厢。
Output
对于每组数据中的每次类型为 2 的操作,输出 1 行,表示车头后的所有车厢(以车厢上的数字表示),两两之间用空格隔开。
Sample Input
5 3 1 2 3 2 5 10 1 6 4 9 9 8 8 2 3 3 10 1 1 3 2 1 2 3 1 2 4 2 2 1 1 5 2 1 1 5 2 2 1 2 5
Sample Output
1 2 3 6 6 5 10 9 9 8 8 1 2 3 6 3 3 1 2 3 6 3 3 5 10 9 9 8 8 3 3 5 10 9 9 8 8
Hint
Source
【SDUT Round #2 - 2017 新春大作战】bLue