组合的遍历

TimeLimit:1000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem 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
每组数据输出多行,每行表示一种组合的情况,用一个只包含小写字母的字符串表示集合,集合内的元素从大到小排序。按照字典序从小到大输出所有的组合情况。
每组案例之间用一个空行隔开。
具体参考样例
SampleInput
1
3
SampleOutput
a

a
b
ba
c
ca
cb
cba
Submit
题目统计信息详细
总AC数167
通过人数135
尝试人数137
总提交量260
AC率51.92%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签
作者

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: