CF1165C Good String

题目描述

我们称一个字符串为“好字符串”,当且仅当它的长度为偶数,并且字符串中每个奇数位置的字符都与其后一个字符不同(即第一个字符与第二个字符不同,第三个字符与第四个字符不同,以此类推)。例如,字符串 good、string 和 xyyx 都是好字符串,而 bad、aa 和 aabc 不是好字符串。注意,空字符串也被认为是好字符串。 现在给定一个字符串 $s$,你需要删除最少数量的字符,使其变为好字符串。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 2 \cdot 10^5$),表示字符串 $s$ 的长度。 第二行包含一个长度为 $n$ 的字符串 $s$,由小写拉丁字母组成。

输出格式

第一行输出一个整数 $k$($0 \leq k \leq n$),表示你需要删除的最少字符数,使 $s$ 变为好字符串。 第二行输出最终得到的好字符串 $s$。如果结果为空字符串,第二行可以留空,或者不输出。

说明/提示

由 ChatGPT 4.1 翻译