长度为 n 只包含小写字母的字符串 S ,下标 1 开始。
进行 n 次操作第 i 次操作将 Si 移动到字符串末尾。输出 n 次操作后的字符串。
例如字符串"abqde",第一步"bqdea",第二步"bdeaq",第三步"bdaqe",第四步"bdaeq",第五步"bdaeq"。
本题的关键在于如何有效地模拟每一次的字符移动。本质是每次都要往后移动两次,每一次操作都要将当前下标的字符移动到字符串末尾并标记已用,重复这个过程直到完成 ( n ) 次操作。考虑到字符串的长度可能达到 ( 10^6 ),我们需要采用高效的方法以避免超时。
c++
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
signed main()