CF1620E Replace the Numbers
题目描述
你有一个整数数组(初始为空)。
你需要进行 $q$ 次操作。每次操作有两种类型之一:
- “$1\ x$” —— 将元素 $x$ 添加到数组末尾;
- “$2\ x\ y$” —— 将数组中所有等于 $x$ 的元素替换为 $y$。
请在所有操作完成后,输出最终的数组。
输入格式
第一行包含一个整数 $q$($1 \le q \le 5 \cdot 10^5$),表示操作次数。
接下来的 $q$ 行,每行一个操作(每行一个操作)。
每个操作有两种类型之一:
- “$1\ x$” ($1 \le x \le 5 \cdot 10^5$);
- “$2\ x\ y$” ($1 \le x, y \le 5 \cdot 10^5$)。
保证至少有一次第一种类型的操作。
输出格式
在一行中输出 $k$ 个整数,表示所有操作完成后得到的数组,其中 $k$ 是第一种类型操作的次数。
说明/提示
在第一个样例中,数组变化如下:
$[] \rightarrow [3] \rightarrow [3, 1] \rightarrow [3, 2] \rightarrow [3, 2, 2] \rightarrow [3, 2, 2, 1] \rightarrow [3, 2, 2, 1, 2] \rightarrow [3, 2, 2, 3, 2]$。
在第二个样例中,数组变化如下:
$[] \rightarrow [1] \rightarrow [1, 2] \rightarrow [1, 2, 1] \rightarrow [1, 2, 1]$。
在第三个样例中,数组变化如下:
$[] \rightarrow [] \rightarrow [1] \rightarrow [1, 4] \rightarrow [1, 4, 2] \rightarrow [1, 4, 4] \rightarrow [1, 3, 3] \rightarrow [1, 3, 3, 2] \rightarrow [1, 3, 3, 7]$。
由 ChatGPT 4.1 翻译