€. 组合的遍历

    Type: Default 1000ms 256MiB

组合的遍历

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

Description

假定有n个元素的集合,集合元素分别用a,b,c,d....表示。请你输出所有的非空子集(即子集但不包括空集)。

教程:有n个元素的集合,可以用一个n位的二进制数表示,每一位对应一个集合的元素,当前位置是0或1分别表示这个元素没选中或者选中。 假定集合有3个元素,那么用三位二进制数000~111表示所有组合,因此共有8总组合,其中000表示空集。111表示它本身。

cba

000->空集

001->a

010->b

011->ba

100->c

101->ca

110->cb

111->cba

Input

输入多组数据,每组数据的第一行是一个整数n,表示集合内元素的个数(n<=10)

Output

每组数据输出多行,每行表示一种组合的情况,用一个只包含小写字母的字符串表示集合,集合内的元素从大到小排序。按照字典序从小到大输出所有的组合情况。 每组案例之间用一个空行隔开。 具体参考样例

Samples

1
a
3
a
b
ba
c
ca
cb
cba

Limitation

1s, 1024KiB for each test case.

第七届SWPU-ACM新生预选赛

Not Attended
Status
Done
Rule
ACM/ICPC
Problem
103
Start at
2022-9-19 14:00
End at
2022-10-28 14:00
Duration
936 hour(s)
Host
Partic.
58