AT_joig2024_e 名前 (Name)

题目描述

JOI 君和 IOI 君决定养一只狗。首先要做的事情是给狗取一个名字。经过两人的商议,决定名字需要满足以下 $4$ 个条件。 > **条件 1** 名字必须是由英文字母大写字母(`A`, `B`, ..., `Z`)和小写字母(`a`, `b`, ..., `z`)组成的字符串。 > > **条件 2** JOI 君喜欢的字符串是长为 $N$ 的字符串 $S$,因此 $S$ 必须作为名字的一个子序列出现。 > > **条件 3** IOI 君喜欢的字符串是长为 $M$ 的字符串 $T$,因此 $T$ 必须作为名字的一个子序列出现。 > > **条件 4** 为了使名字读起来方便,对于名字中任意两个相同的字符,其间必须至少有 $K$ 个其他字符。严格来说,对于任意位置不同但字符相同的两个字母,它们之间必须有至少 $K$ 个不同的字符。注意,如果 $K=0$,或者名字中的字母全部互不相同,则此条件自动满足。 > > 需要注意的是,英文字母的大写和小写是有区分的。例如,`A` 和 `a` 被认为是不同的字母。 这里,名字的子序列表示从名字中删除若干(可以是 $0$ )个字符后得到的字符串。例如,当名字为 `algorithm` 时,`ai` 和 `lgtm` 是该名字的子序列,但 `joi` 和 `logarithm` 不是。 两人认为名字越短越好,所以请在上述 $4$ 条件下,为狗狗取一个最短的名字。 给定 JOI 君和 IOI 君喜欢的字符串,以及整数 $K$,请你编写程序输出名字的最小长度。

输入格式

输入按以下格式给出。 > $N$ $M$ $K$ $S$ $T$

输出格式

请输出满足条件的名字的最小长度,仅一行。

说明/提示

## 子任务 1. ($2$ 分)$S = T$,$K = 0$。 2. ($7$ 分)$S = T$,$K = 1$。 3. ($16$ 分)$S = T$。 4. ($17$ 分)$K = 0$。 5. ($13$ 分)$K = 1$,$N \leq 25$,$M \leq 25$。 6. ($15$ 分)$K = 1$。 7. ($20$ 分)$K \leq 2$。 8. ($10$ 分)无其它额外限制。 ## 样例解释 1 JOI 君和 IOI 君喜欢的字符串都是 `hottokeiki`。如果把狗的名字取为 `hottokeiki`,那么: - **条件 1:** 名字由大小写英文字母构成。 - **条件 2:** 字符串 $S$(`hottokeiki`)是名字 `hottokeiki` 的子序列。 - **条件 3:** 字符串 $T$(`hottokeiki`)是名字 `hottokeiki` 的子序列。 - **条件 4:** $K=0$,所以条件自动满足。 这是满足所有条件的最短名字,其长度为 $10$。 这个输入满足子任务 $1,3,4,7,8$ 的限制。 ## 样例解释 2 本例和样例 1 的区别只是 $K$ 的取值不同。 如果名字还是取为 `hottokeiki`,则**条件 4**不满足,因为两个 `t` 中间没有 $1$ 个字符。 满足所有条件的最短名字可以是 `hotNtokeiki`,长度为 $11$。 这个输入满足子任务 $2,3,5,6,7,8$ 的限制。 ## 样例解释 3 本例和样例 1,2 的区别是 $K$ 的取值不同。 如果名字用 `hotNtokeiki`,则**条件 4**不满足,因为两个 `t` 之间仅隔 $1$ 个字符,两个 `k` 之间只有 $2$ 个字符,以及两个 `i` 之间仅有 $1$ 个字符。 满足所有条件的最短名字可以是 `hotarutokeiyuki`,长度为 $15$。 这个输入满足子任务 $3,8$ 的限制。 ## 样例解释 4 JOI 君喜欢的字符串为 `Jouhou`,IOI 君喜欢的字符串为 `Orinpikku`。如果将狗的名字取为 `OJouhorinpikku`,那么: - **条件 1:** 名字由大小写英文字母构成。 - **条件 2:** 字符串 $S$(`Jouhou`)是名字 `OJouhorinpikku` 的子序列。 - **条件 3:** 字符串 $T$(`Orinpikku`)是名字 `OJouhorinpikku` 的子序列。 - **条件 4:** $K=0$,所以条件自动满足。 这是一个满足所有条件的最短名字之一,长度为 $14$。注意,因为大小写有区分,`jouhorinpikku`(长度 $13$)等名字并不满足条件。 这个输入满足子任务 $4,7,8$ 的限制。 ## 样例解释 5 满足所有条件的最短名字之一是 `CoMaMiTeRTeRaCe`,长度为 $15$。 这个输入满足子任务 $5,6,7,8$ 的限制。 ## 样例解释 6 满足所有条件的最短名字是 `JOIGEIGOI`,长度为 $9$。 这个输入满足子任务 $7,8$ 的限制。 # 数据范围与约定 - $1 \leq N \leq 500$。 - $1 \leq M \leq 500$。 - $0 \leq K \leq 3$。 - $S$ 是长度为 $N$ 的仅包含大小写英文字母的字符串。 - $T$ 是长度为 $M$ 的仅包含大小写英文字母的字符串。 - $N, M, K$ 均为整数。 由 ChatGPT 5 翻译