/ QwQ / 题库 /

The Second Step of AK ACM/ICPC

The Second Step of AK ACM/ICPC

测试数据来自 dongyingshishiyanzhongxue/5bc9ceead3d8a1340d566d6b

背景

每位 \( \text{巨佬} \) AK ICPC 的第二步。

子集生成问题

描述

给定一个由单个字符组成的集合,请求出该集合的所有子集。
保证集合本身没有重复的元素。

规定:
1. 空集( \( \varnothing \) )是任何集合的子集(也就是说输出的第一行一定是一个换行)
2. 任何一个集合是它本身的子集
3. 子集不能重复,如{2,b}和{b,2}应认作集合{2,1,b}的同一个子集,并且元素按下标排列(也就是说只输出{2,b}而不输出{b,2})
4. 子集按字典序排列,如{1,b}应比{2,b}早输出

例子:
对于集合{b,+,a,9},子集有:
{}
{b}
{b,+}
{b,a}
{b,9}
{b,a,9}
{b,+,a}
{b,+,9}
{b,+,a,9}
{+}
{+,a}
{+,9}
{+,a,9}
{a}
{a,9}
{9}
按字典序(即ASCII码的顺序)排列后为:
{}
{+}
{+,9}
{+,a}
{+,a,9}
{9}
{a}
{a,9}
{b}
{b,+}
{b,+,9}
{b,+,a}
{b,+,a,9}
{b,9}
{b,a}
{b,a,9}

输出时不需要加大括号和逗号!

数据格式

Input

第一行一个正整数 \( n \) ,表示集合中元素的数量(也就是字符串的长度)。
第二行一个字符串,描述这个集合,每个字符是集合的一个元素。

Output

多行,每行一个字符串(第一行为空),表示集合的一个子集。

数据样例

Input Simple

4
b+a9

Output Simple


+
+9
+a
+a9
9
a
a9
b
b+
b+9
b+a
b+a9
b9
ba
ba9

说明

\( n<=15 \)

推荐使用string储存答案。

限制

time:1s
memory:128Mb

信息

ID
1002
难度
(无)
分类
搜索 点击显示
标签
递交数
0
已通过
0
通过率
?
上传者