CF1935A.Entertainment in MAC
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Congratulations, you have been accepted to the Master's Assistance Center! However, you were extremely bored in class and got tired of doing nothing, so you came up with a game for yourself.
You are given a string s and an even integer n. There are two types of operations that you can apply to it:
- Add the reversed string s to the end of the string s (for example, if $s = $ cpm, then after applying the operation $s = $ cpmmpc).
- Reverse the current string s (for example, if $s = $ cpm, then after applying the operation $s = $ mpc).
It is required to determine the lexicographically smallest† string that can be obtained after applying exactly n operations. Note that you can apply operations of different types in any order, but you must apply exactly n operations in total.
†A string a is lexicographically smaller than a string b if and only if one of the following holds:
- a is a prefix of b, but a=b;
- in the first position where a and b differ, the string a has a letter that appears earlier in the alphabet than the corresponding letter in b.
恭喜你被硕士生援助中心录取!然而,你在课堂上感到极度无聊,无所事事让你倍感疲惫,于是你为自己设计了一个小游戏。
给定一个字符串 s 和一个偶数 n。你可以对它执行以下两种操作:
- 将字符串 s 的反转串添加到 s 的末尾(例如,若 $s = $ cpm,则执行该操作后 $s = $ cpmmpc);
- 将当前字符串 s 进行反转(例如,若 $s = $ cpm,则执行该操作后 $s = $ mpc)。
要求:在恰好执行 n 次操作后,求所能得到的字典序最小†的字符串。注意:你可以以任意顺序混合使用两种操作,但必须总共恰好执行 n 次操作。
† 字符串 a 的字典序小于字符串 b,当且仅当满足以下条件之一:
- a 是 b 的真前缀(即 a 是 b 的前缀且 a=b);
- 在 a 与 b 首次出现差异的位置上,a 中对应位置的字符在字母表中早于 b 中对应位置的字符。
输入格式
Each test consists of multiple test cases. The first line contains a single integer t (1≤t≤500) — the number of test cases. The description of the test cases follows.
The first line of each test case contains a single even integer n (2≤n≤109) — the number of operations applied to the string s.
The second line of each test case contains a single string s (1≤∣s∣≤100), consisting of lowercase English letters, — the string to which the operations are applied.
每个测试包含多个测试用例。第一行包含一个整数 t(1≤t≤500),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含一个偶数 n(2≤n≤109),表示应用于字符串 s 的操作次数。
每个测试用例的第二行包含一个字符串 s(1≤∣s∣≤100),由小写英文字母组成,表示被施加操作的字符串。
输出格式
For each test case, output a single line — the lexicographically smallest string that can be obtained after applying exactly n operations.
对于每个测试用例,输出一行——经过恰好 n 次操作后能得到的字典序最小的字符串。
输入输出样例
输入#1
5 4 cpm 2 grib 10 kupitimilablodarbuz 1000000000 capybara 6 abacaba
输出#1
cpm birggrib kupitimilablodarbuz arabypaccapybara abacaba
说明/提示
In the first test case, you can apply the operation of the second type (i.e., reverse the string s) 4 times. Then the string s will remain equal to cpm.
In the second test case, you can do the following:
- Apply the operation of the second type, after which s will become equal to birg.
- Apply operation of the first type (i.e., add the reversed string s to the end of the string s), after which s will become equal to birggrib.
在第一个测试用例中,你可以执行 4 次第二种操作(即反转字符串 s)。此时字符串 s 将保持为 cpm。
在第二个测试用例中,你可以执行以下操作:
- 执行第二种操作,此时 s 将变为 birg。
- 执行第一种操作(即:将字符串 s 的反转添加到字符串 s 的末尾),此时 s 将变为 birggrib。
输入解题思路,AI测评打分。不知道怎么写?