9999001 - 最优子序列

给定一个长度为 的字符串 ,仅包含字母表中前 个小写字母。 现在要找出 的一个最长子序列,满足所有相同的字符在结果中处于相邻的位置。 子序列的定义为,删除原字符串中的部分字符,再把剩下的字符按照原有的相对顺序拼接起来 相同字符相邻的定义为,字符串 中不存在三个下标 满足 且 输出满足条件的最长子序列的长度,以及对应的方案。 注意,根据测试点要求,可能需要输出任意一种满足条件的子序列,也可能需要输出满足条件的字典序 最小的子序列。

输入

给定一个长度为 的字符串 ,仅包含字母表中前 个小写字母。 现在要找出 的一个最长子序列,满足所有相同的字符在结果中处于相邻的位置。 子序列的定义为,删除原字符串中的部分字符,再把剩下的字符按照原有的相对顺序拼接起来 相同字符相邻的定义为,字符串 中不存在三个下标 满足 且 输出满足条件的最长子序列的长度,以及对应的方案。 注意,根据测试点要求,可能需要输出任意一种满足条件的子序列,也可能需要输出满足条件的字典序 最小的子序列。

输出

本题为文件输入输出,输出文件名为 seq.out 。 第一行输出一个整数,表示满足条件的最长子序列的长度。 ,无需输出子序列方案,结束输出。 ,第二行输出一个字符串,表示任意一种满足条件的子序列方案。 ,第二行输出一个字符串,表示满足条件的字典序最小的子序列方案。

样例

输入

4 12 0
kick

输出

3
时间限制 1 秒
内存限制 512 MB
讨论 统计
上一题 下一题