编程题
### 问题描述 小蓝很喜欢非连续回文子序列,于是小蓝去小桥那买了一个只包含小写英文字母的字符串 $s$,其长度不超过 $20$。现在小蓝希望你能帮助他找出所有 $s$ 中非连续回文子序列,并按照字典序从小到大打印出来。以下是小蓝对非连续回文子序列的定义,希望能帮到你。 一个字符串被称作回文串当且仅当这个字符串从左往右读和从右往左读都是相同的。例如,a, abcba, caaddaac。 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。例如,对于 X="ABCBDAB",Y="BCDB" 是 X 的一个子序列。 非连续子序列:要求子序列中对应的原序列的位置不能是连续的。如 X="ABCDEF",Y="BC" 就不是非连续子序列,因为 B 与 C 在 X 中一定是连续的。X="AAAA",Y="AA" 是非连续子序列,因为 AA 在 X 中对应位置可以是不连续的。 形式化描述:$S_{a_1}S_{a_2}...S_{a_m}$ 是字符串 $S_{1...n}$ 的非连续子序列,当且仅当对于任意 $ 1 \leq i \lt j \leq m$,都有 $a_{i+1} \lt a_j$。 ### 输入格式 一行,一个长度不超过 $20$ 且只包含小写英文字母的字符串 $s$。 ### 输出格式 按照字典序从小到大输出所有非连续回文子序列。 ### 样例输入 ``` abcba ``` ### 样例输出 ``` a aa aca b bb c ``` ### 评测数据规模 $ 1 \leq \lvert s \rvert \leq 20 $。
查看答案
赣ICP备20007335号-2