AT_oupc2023_day1_d Han Burger

题目描述

用 $N$ 个字符或字符串 $X_1, X_2, \dots, X_N$ 按顺序连接得到的字符串,记作 $X_1 + X_2 + \cdots + X_N$。 对于字符串,有如下“吧嘎”、“全吧嘎”和“半吧嘎”的定义。**该定义与 E 问题中的相同。** - “吧嘎”指的是全吧嘎的字符串,以及半吧嘎的字符串。 - “全吧嘎”指存在某个吧嘎 $A$ 和某个字符 $c$,使得该字符串可以写成 $c + A + c$ 的形式,同时空字符串也是全吧嘎。 - “半吧嘎”指存在某两个非空吧嘎 $A$ 和 $B$,使得该字符串可以写成 $A + B$,且不是全吧嘎。 例如,`abba` 和 `abbcca` 是全吧嘎,`aabb` 和 `abbacc` 是半吧嘎,但 `abbcbbc` 和 `ababa` 不是吧嘎。 给定一个由小写英文字母组成的字符串 $S$,请找出满足 $S + T$ 为全吧嘎的字符串 $T$,使得 $|T|$ 最小,并在所有满足条件的 $T$(长度最小者中)中字典序最小的一个输出。如果不存在这样的 $T$,输出 `-1`。 字典序的定义如下:依次比较两个字符串 $S = S_1S_2\cdots S_{|S|}$ 和 $T = T_1T_2\cdots T_{|T|}$,满足下述两个条件之一时,称 $S$ 的字典序小于 $T$。 1. $|S| < |T|$ 且 $S = S_1S_2\cdots S_{|S|} = T_1T_2 \cdots T_{|S|}$。 2. 存在 $1 \leq i \leq \min\{|S|, |T|\}$,同时满足: - $S_1S_2\cdots S_{i-1} = T_1T_2\cdots T_{i-1}$ - $S_i$ 是按字母表顺序小于 $T_i$ 的字符。

输入格式

输入为一行,包括一个字符串 $S$。

输出格式

请输出满足题意的 $T$,如无答案输出 `-1`。

说明/提示

## 小子任务 1. (1 分)$S$ 只包含 `a` 和 `b`,$|S| \leq 10$ 2. (99 分)无额外限制 ## 样例解释 1 设 $T = $ `aba`,则 $S+T = $ `abccaaba` 是全吧嘎。 当然,满足条件的 $T$ 不止 `aba`,但长度为 2 或更短的 $T$ 并不存在,而所有长度为 3 的 $T$ 中,字典序最小的是 `aba`,因此输出 `aba`。 本测试用例不满足小子任务 1 的限制。 ## 样例解释 2 选择 $T$ 为空字符串则 $S+T = $ `abba` 是全吧嘎。 本测试用例满足小子任务 1 的限制。 # 数据范围 - $1 \leq |S| \leq 200{,}000$ - $S$ 是仅含小写英文字母的字符串。 由 ChatGPT 5 翻译