AT_abc399_e [ABC399E] Replace

题目描述

[problemUrl]: https://atcoder.jp/contests/abc399/tasks/abc399_e 给定一个正整数 $N$ 以及两个长度为 $N$ 的小写英文字母字符串 $S$ 和 $T$。 请判断是否可以通过重复以下操作(允许 0 次操作)将 $S$ 变为 $T$。若可能,还需输出所需的最小操作次数。 **操作**: 选择两个小写英文字母 $x$ 和 $y$,将 $S$ 中 **所有** 出现的 $x$ 替换为 $y$。

输入格式

输入通过标准输入给出,格式如下: > $N$ > $S$ > $T$

输出格式

若可以将 $S$ 变为 $T$,则输出所需的最小操作次数;否则输出 $-1$。

说明/提示

### 约束条件 - $1 \leq N \leq 2 \times 10^5$ - $N$ 为整数 - $S$ 和 $T$ 均为长度为 $N$ 的小写英文字母字符串 ### 样例解释 1 通过以下 4 次操作可将 $S$ 变为 $T$: 1. 选择 $x=$ `b`, $y=$ `c`,操作后 $S=$ `afcfda` 2. 选择 $x=$ `a`, $y=$ `b`,操作后 $S=$ `bfcfdb` 3. 选择 $x=$ `f`, $y=$ `k`,操作后 $S=$ `bkckdb` 4. 选择 $x=$ `d`, $y=$ `b`,操作后 $S=$ `bkckbb`(与 $T$ 一致) 由于无法在 3 次或更少操作内完成,最小操作次数为 4。 ### 样例解释 2 $S$ 与 $T$ 初始时已一致,无需任何操作。 ### 样例解释 3 无论如何操作,都无法将 $S$ 变为 $T$。 翻译由 DeepSeek R1 完成