CF1626A.Equidistant Letters

入门

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given a string ss, consisting of lowercase Latin letters. Every letter appears in it no more than twice.

Your task is to rearrange the letters in the string in such a way that for each pair of letters that appear exactly twice, the distance between the letters in the pair is the same. You are not allowed to add or remove letters.

It can be shown that the answer always exists. If there are multiple answers, print any of them.

给你一个字符串 ss,由小写拉丁字母组成。其中每个字母至多出现两次。

你的任务是重新排列该字符串中的字母,使得对于每一个恰好出现两次的字母对,该字母对中两个字母之间的距离相等。你不能添加或删除任何字母。

可以证明,答案总是存在的。如果存在多个答案,输出任意一个即可。

输入格式

The first line contains a single integer tt (1≤t≤1031 \le t \le 10^3) — the number of testcases.

Each testcase consists of a non-empty string ss, consisting of lowercase Latin letters. Every letter appears in the string no more than twice. The length of the string doesn't exceed 5252.

第一行包含一个整数 tt(1≤t≤1031 \le t \le 10^3)—— 测试用例的数量。

每个测试用例由一个非空字符串 ss 组成,该字符串仅包含小写拉丁字母。字符串中每个字母至多出现两次。字符串的长度不超过 5252。

输出格式

For each testcase, print a single string. Every letter should appear in it the same number of times as it appears in string ss. For each pair of letters that appear exactly twice, the distance between the letters in the pair should be the same.

If there are multiple answers, print any of them.

对于每个测试用例,输出一个字符串。该字符串中每个字母的出现次数应与字符串 ss 中对应字母的出现次数完全相同。对于每一对恰好出现两次的字母,该对字母在字符串中的距离应相等。

如果存在多个合法答案,输出任意一个即可。

输入输出样例

  • 输入#1

    3
    oelhl
    abcdcba
    ac

    输出#1

    hello
    ababcdc
    ac

说明/提示

In the first testcase of the example, the only letter that appears exactly twice is letter 'l'. You can rearrange the letters arbitrarily, since there are no distances to compare.

In the second testcase of the example, the letters that appear exactly twice are 'a', 'b' and 'c'. Initially, letters 'a' are distance 66 apart, letters 'b' are distance 44 apart and letters 'c' are distance 22 apart. They are not the same, so we have to rearrange the letters. After rearrangement, letters 'a' are distance 22 apart, letters 'b' are distance 22 apart and letters 'c' are distance 22 apart. They are all the same, so the answer is valid.

In the third testcase of the example, there are no letters that appear exactly twice. Thus, any rearrangement is valid. Including not changing the string at all.

在示例的第一个测试用例中,唯一恰好出现两次的字母是字母 'l'。由于不存在需要比较的距离,因此可以任意重排这些字母。

在示例的第二个测试用例中,恰好出现两次的字母是 'a'、'b' 和 'c'。初始状态下,字母 'a' 之间的距离为 66,字母 'b' 之间的距离为 44,字母 'c' 之间的距离为 22。这些距离互不相等,因此必须重排字母。重排后,字母 'a' 之间的距离为 22,字母 'b' 之间的距离为 22,字母 'c' 之间的距离也为 22。此时所有距离均相同,因此该答案是有效的。

在示例的第三个测试用例中,不存在恰好出现两次的字母。因此,任意重排都是有效的,包括完全不改变原字符串。

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

首页