CF1758A SSeeeeiinngg DDoouubbllee

题目描述

回文串是指正着读和反着读都相同的字符串。例如,$\texttt{z}$、$\texttt{aaa}$、$\texttt{aba}$ 和 $\texttt{abccba}$ 都是回文串,而 $\texttt{codeforces}$ 和 $\texttt{ab}$ 不是回文串。 一个字符串 $s$ 的“加倍串”是指将 $s$ 中的每个字符都写两遍。例如,$\texttt{seeing}$ 的加倍串是 $\texttt{sseeeeiinngg}$。 给定一个字符串 $s$,请将其加倍串重新排列,得到一个回文串。输出重新排列后的字符串。可以证明,总是存在这样的重新排列方式。

输入格式

输入的第一行包含一个整数 $t$($1 \leq t \leq 1000$),表示测试用例的数量。 每个测试用例仅包含一行,一个只由小写英文字母组成的字符串 $s$($1 \leq |s| \leq 100$)。 注意,所有测试用例中 $|s|$ 的总和没有上限。

输出格式

对于每个测试用例,输出一个长度为 $2 \cdot |s|$ 的回文串,该串是 $s$ 的加倍串的某种重新排列。

说明/提示

在第一个测试用例中,$\texttt{a}$ 的加倍串是 $\texttt{aa}$,它本身就是回文串。 在第二个测试用例中,$\texttt{sururu}$ 的加倍串是 $\texttt{ssuurruurruu}$。如果我们把第一个 $\texttt{s}$ 移到末尾,就得到 $\texttt{suurruurruus}$,这是一个回文串。 在第三个测试用例中,$\texttt{errorgorn}$ 的加倍串是 $\texttt{eerrrroorrggoorrnn}$。我们可以将字符重新排列成 $\texttt{rgnororerrerorongr}$,这是一个回文串。 由 ChatGPT 4.1 翻译