P7304 [COCI 2018/2019 #1] Zamjena
题目描述
Vlatko 喜欢与整数数组打交道。
他在纸上写下了两个分别包含 $N$ 个元素的数组,其中每个元素是一个整数,或者是表示一个变量的字符串(字符串仅包含小写字母)。
一个变量可以被任何一个整数替换,而两个数组中可能会多次出现同一变量。假如这种情况出现,则替换时需要将该变量出现过所有位置均替换会为待替换整数。
Vlatko 好奇能不能将所有变量替换为特定的整数,使得两个数组相等。当两个数组所有位置处的整数均对应相等,则两个数组相等。
输入格式
第一行输入正整数 $N$,表示每个数组中元素个数。
第二行输入第一个数组的 $N$ 个元素。
第三行输入第二个数组的 $N$ 个元素。
数组中的每个元素为下列二者之一:
- 一个小于 $1000$ 的正整数
- 一个长度不超过 $10$ 的仅包含小写字母的字符串,表示一个变量。
输出格式
如果有方案能在替换后使得两个数组相等,则输出 `DA`,否则输出 `NE`。
说明/提示
#### 样例 3 解释
当把 $x,y,z$ 分别替换为 $2,3,3$ 时,两个数组相等,均为 $(2,3,2,3,3)$。
#### 数据规模与约定
对于 $20\%$ 的数据,每个变量在两个数组中仅出现一次。
对于另外 $20\%$ 的数据,数组中只包含两个变量 $x,y$。
对于 $100\%$ 的数据,$1 \le N \le 5 \times 10^4$。
#### 说明
**本题分值按 COCI 原题设置,满分 $70$。**
**题目译自 [COCI2018-2019](https://hsin.hr/coci/archive/2018_2019/) [CONTEST #1](https://hsin.hr/coci/archive/2018_2019/contest1_tasks.pdf) _T2 Zamjena_。**