题库练习 生成(onegram)

A71875 | 生成(onegram)

来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

小 Y 对现在的大模型生成技术非常感兴趣,他设计了一个非常简单的生成策略。这个生成策略是逐个字符生成的,字符集只包含小写字母。

对于一个字符串,生成的下一个字符只和当前的末尾字符有关,他会把字符串中跟当前末尾字符相同的字符挑出来,再把这些字符的下一个字符选中,在选中的字符中找到出现频率最高的字符作为当前的生成。特别的,如果有多个出现频率最高的字符,小 Y 会选择字典序最小的那个字符生成。如果末尾字符在前面没有出现过,则生成 a

举例来说,如果当前的字符串为 ababaca,生成过程是这样的:此时末尾字母为 a,首先选中所有的字母 a,将小写字母 a 标成红色后字符串将是 ababaca,可以看到所有红色字符的下一个字符为依次 bbc,因为 b 出现了 2 次而 c 仅出现了 1 次,所以生成的下一个字符是 b,新字符串变为 ababacab

对于一个长度为 n 的字符串,小 Y 希望按照以上生成策略进行 n 次生成,他希望知道生成之后的长度为 2n 的字符串是什么样的。

输入格式

一行一个字符串。

输出格式

一行一个字符串,长度为输入字符串的两倍。

输入输出样例

输入 #1
aba
输出 #1
ababab
输入 #2
abc
输出 #2
abcabc
输入 #3
tsdaasfadgfbdbdgiojiasjid
输出 #3
tsdaasfadgfbdbdgiojiasjidgfasadgfasdgfasdgfasd
C++ 编辑器
输入
输出