CF1213E Two Small Strings

题目描述

给定两个长度为 $2$ 的字符串 $s$ 和 $t$,它们只包含字符 'a'、'b' 和 'c'。 字符串 $s$ 和 $t$ 的可能示例有:"ab"、"ca"、"bb"。 你需要构造一个长度为 $3n$ 的字符串 $res$,其中恰好有 $n$ 个字符 'a',$n$ 个字符 'b',$n$ 个字符 'c',并且 $s$ 和 $t$ 不能作为 $res$ 的子串出现。 一个字符串的子串是该字符串的一个连续子序列。例如,字符串 "abacc" 的子串有 "ab"、"ac" 和 "cc",但 "bc"、"aa" 和 "cb" 不是其子串。 如果有多种答案,你可以输出任意一种。

输入格式

第一行输入一个整数 $n$($1 \le n \le 10^5$),表示结果字符串中 'a'、'b'、'c' 各自的数量。 第二行输入一个长度为 $2$ 的字符串 $s$,只包含字符 'a'、'b' 和 'c'。 第三行输入一个长度为 $2$ 的字符串 $t$,只包含字符 'a'、'b' 和 'c'。

输出格式

如果无法构造满足条件的字符串,第一行输出 "NO"。 否则,第一行输出 "YES",第二行输出满足条件的字符串 $res$。$res$ 应该由 $3n$ 个字符组成,且 'a'、'b'、'c' 各出现 $n$ 次,且 $s$ 和 $t$ 都不作为 $res$ 的子串出现。 如果有多种答案,你可以输出任意一种。

说明/提示

由 ChatGPT 4.1 翻译