Problem 2644 --Bitset II - Enumeration of Subsets II

2644: Bitset II - Enumeration of Subsets II

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $2$ 正确数量 $2$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 STL

Enumeration of Subsets II

00からn−1n−1までのnn個の整数を要素とする集合UUの部分集合TTが与えられます。UUの部分集合であって、TTを部分集合に持つような全ての集合を列挙してください。ただし、00からn−1n−1をそれぞれ2進数の00...0001、00...0010、00...0100、...、10...0000とし、存在する要素のビットごとの論理和を取ったものをその部分集合の整数値とします。

Input

入力は以下の形式で与えられます。

n k b0 b1...bk−1

kkはTT の要素数で、bibi はTTに含まれる要素を示します。

Output

部分集合をそれらの整数値の昇順で出力してください。1つの部分集合は以下の形式で出力してください。

d:e0 e1 ...

整数値ddの後にコロン:、続けて部分集合に含まれる要素eieiを昇順で空白付きで出力してください。

4
2 0 2
5: 0 2
7: 0 1 2
13: 0 2 3
15: 0 1 2 3

Constraints

  • 1≤n≤181≤n≤18
  • 0≤k≤n0≤k≤n
  • 0≤bi<n

推荐代码 查看2644 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$45 $ms] AOJ大管家 437041 2019-06-07 13:08:18
内存最少[$0 $KB] Qiqy 609179 2020-08-02 13:55:03
第一AC AOJ大管家 437041 2019-06-07 13:08:18
第一挑战 AOJ大管家 437041 2019-06-07 13:08:18

赛题来源/所属竞赛 会津大学《C++ Programming II》 C++程序设计(高级)

竞赛编号 竞赛名称 竞赛时间 访问比赛