QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#18478. 博德之跃 3

Statistics

给定一个由小写英文字母组成的字符串 $S$,以及一个初始为空的字符串 $T$。

你需要对 $S$ 执行若干次操作,直到它变为空字符串。每次你可以执行下三种操作中的一种:

  • 删除 $S$ 的第一个字符,并将其添加到 $T$ 的末尾。
  • 删除 $S$ 的最后一个字符,并将其添加到 $T$ 的末尾。
  • 选择非空串 $A,B$ 满足 $S=ABA^R$,令 $S=B$ 并将字符串 $A$ 添加到 $T$ 的末尾。

其中 $A^R$ 表示字符串 $A$ 的反串。

求在所有操作方案中,能得到的字典序最小的 $T$。

输入格式

本题有多组测试数据。

输入第一行一个正整数 $t$ ($1\le t\le 10^5$),表示测试数据组数。

每组测试数据:

输入一行一个由小写字母组成的字符串 $S$ ($1\le |S|\le 5\times 10^5$)。

保证所有测试数据 $|S|$ 之和不超过 $5\times 10^5$。

输出格式

每组测试数据输出一行一个字符串表示答案。

样例

输入格式 1

6
cba
zayaz
aaaaa
xazbx
ababa
aa

输出格式 1

abc
zaay
aaa
xabz
aaba
aa

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 1
IDTypeStatusTitlePosted ByLast UpdatedActions
#2703Off-topicOpenNo EditorialThisIsLuView

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.