AT_oupc2023_day1_d.Han Burger

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

用 NN 个字符或字符串 X1,X2,…,XNX_1, X_2, \dots, X_N 按顺序连接得到的字符串,记作 X1+X2+⋯+XNX_1 + X_2 + \cdots + X_N。

对于字符串,有如下“吧嘎”、“全吧嘎”和“半吧嘎”的定义。该定义与 E 问题中的相同。

  • “吧嘎”指的是全吧嘎的字符串,以及半吧嘎的字符串。
  • “全吧嘎”指存在某个吧嘎 AA 和某个字符 cc,使得该字符串可以写成 c+A+cc + A + c 的形式,同时空字符串也是全吧嘎。
  • “半吧嘎”指存在某两个非空吧嘎 AA 和 BB,使得该字符串可以写成 A+BA + B,且不是全吧嘎。

例如,abba 和 abbcca 是全吧嘎,aabb 和 abbacc 是半吧嘎,但 abbcbbc 和 ababa 不是吧嘎。

给定一个由小写英文字母组成的字符串 SS,请找出满足 S+TS + T 为全吧嘎的字符串 TT,使得 ∣T∣|T| 最小,并在所有满足条件的 TT(长度最小者中)中字典序最小的一个输出。如果不存在这样的 TT,输出 -1。

字典序的定义如下:依次比较两个字符串 S=S1S2⋯S∣S∣S = S_1S_2\cdots S_{|S|} 和 T=T1T2⋯T∣T∣T = T_1T_2\cdots T_{|T|},满足下述两个条件之一时,称 SS 的字典序小于 TT。

  1. ∣S∣<∣T∣|S| < |T| 且 S=S1S2⋯S∣S∣=T1T2⋯T∣S∣S = S_1S_2\cdots S_{|S|} = T_1T_2 \cdots T_{|S|}。
  2. 存在 1≤i≤min⁡{∣S∣,∣T∣}1 \leq i \leq \min\{|S|, |T|\},同时满足:
    • S1S2⋯Si−1=T1T2⋯Ti−1S_1S_2\cdots S_{i-1} = T_1T_2\cdots T_{i-1}
    • SiS_i 是按字母表顺序小于 TiT_i 的字符。

输入格式

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

输出格式

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

输入输出样例

  • 输入#1

    abcca

    输出#1

    aba
  • 输入#2

    abba

    输出#2

说明/提示

小子任务

  1. (1 分)SS 只包含 a 和 b,∣S∣≤10|S| \leq 10
  2. (99 分)无额外限制

样例解释 1

设 $T = $ aba,则 $S+T = $ abccaaba 是全吧嘎。
当然,满足条件的 TT 不止 aba,但长度为 2 或更短的 TT 并不存在,而所有长度为 3 的 TT 中,字典序最小的是 aba,因此输出 aba。

本测试用例不满足小子任务 1 的限制。

样例解释 2

选择 TT 为空字符串则 $S+T = $ abba 是全吧嘎。

本测试用例满足小子任务 1 的限制。

数据范围

  • 1≤∣S∣≤200,0001 \leq |S| \leq 200{,}000
  • SS 是仅含小写英文字母的字符串。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页