4920 - 生成(onegram)

题目描述

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

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

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

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

输入

一行一个字符串。

输出

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

样例

输入

aba

输出

ababab

输入

abc

输出

abcabc

输入

tsdaasfadgfbdbdgiojiasjid

输出

tsdaasfadgfbdbdgiojiasjidgfasadgfasdgfasdgfasd
说明

数据范围

本题共有 9 个测试点,每个测试点 10 分。

对于所有测试点:1 \le n \le 100000,字符集仅包含小写字母,n 表示字符串长度。

对于测试点 1-21 \le n \le 5

对于测试点 3 :保证字符串中的所有字符完全相同。

对于测试点 4-5:保证字符串中只包含 a,b2 种字符。

来源

2025年常州“信息与未来”小学生编程比赛

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 1
通过人数 1
金币数量 0 枚
难度 入门


上一题 下一题