P14603 [NWRRC 2025] Defense Distance

题目描述

NWRRC 安全服务器对尝试提交隐藏题目解决方案的队伍进行最终访问检查。 要通过检查,队伍必须输入三个系统会接受的密码 $s$、$t$ 和 $u$。每个密码必须是非空字符串,由最多 $5000$ 个小写英文字母组成。 服务器的规则是公开的: - $s$ 和 $t$ 之间的距离应等于 $a$。 - $s$ 和 $u$ 之间的距离应等于 $b$。 - $t$ 和 $u$ 之间的距离应等于 $c$。 两个字符串 $s_1$ 和 $s_2$ 之间的 **距离** 是将字符串 $s_1$ 转换为字符串 $s_2$ 所需的最少单字符操作次数(插入一个字符、删除一个字符或替换一个字符)。这个度量标准也被称为莱文斯坦距离。 当且仅当所有描述的条件都满足时,服务器才会授予对隐藏问题的访问权限。你的目标是构造一个密码三元组来解锁隐藏问题,或者确定这是不可能的。

输入格式

仅一行包含三个整数 $a$、$b$ 和 $c$,表示每对密码之间所需的距离($0 \le a, b, c \le 1000$)。

输出格式

如果不存在具有所需属性的三个密码,则在唯一一行输出 `No`。 否则,在第一行输出 `Yes`。然后在接下来的三行中输出密码 $s$、$t$ 和 $u$。每个密码应由至少 $1$ 个、最多 $5000$ 个小写英文字母组成。 如果有多个密码三元组满足要求,输出其中任意一个。

说明/提示

在第一个测试用例中: - $\texttt{icpc}$ 和 $\texttt{nwrrc}$ 之间的距离是 $4$:$\texttt{icpc}$ $\to$ $\texttt{irpc}$ $\to$ $\texttt{irrc}$ $\to$ $\texttt{nrrc}$ $\to$ $\texttt{nwrrc}$。 - $\texttt{icpc}$ 和 $\texttt{itmo}$ 之间的距离是 $3$:$\texttt{icpc}$ $\to$ $\texttt{itpc}$ $\to$ $\texttt{itpo}$ $\to$ $\texttt{itmo}$。 - $\texttt{nwrrc}$ 和 $\texttt{itmo}$ 之间的距离是 $5$:$\texttt{nwrrc}$ $\to$ $\texttt{wrrc}$ $\to$ $\texttt{wrro}$ $\to$ $\texttt{irro}$ $\to$ $\texttt{itro}$ $\to$ $\texttt{itmo}$。 在第二个测试用例中,每对密码之间的距离都是 $2$。 在第三个测试用例中,可以证明不存在具有所需属性的三个密码。 --- 翻译由 DeepSeek V3 完成