#CF1767D. 淘汰赛

淘汰赛

淘汰赛

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

有 2n2^n 支队伍参加固定对阵表的单败淘汰赛。第一轮中,第 11 支队伍与第 22 支队伍比赛,第 33 支队伍与第 44 支队伍比赛,依此类推;之后每一轮都由相邻两个上一轮胜者继续比赛,直到产生冠军。

第 ii 支队伍的实力值为 pip_i,其中 pp 是 1,2,…,2n1,2,\ldots,2^n 的一个排列。

给定一个长度为 nn 的二进制字符串 ss。若 si=0s_i=0,第 ii 轮的每场比赛都由实力较弱的队伍获胜;若 si=1s_i=1,则由实力较强的队伍获胜。

若存在某个实力排列,使实力值为 xx 的队伍最终夺冠,就称 xx 为获胜整数。请找出全部获胜整数。

输入格式

第一行包含一个整数 nn。

第二行包含一个长度为 nn、仅由 0 和 1 组成的字符串 ss。

输出格式

按升序输出全部获胜整数,相邻整数之间用空格分隔。

样例输入 1

3
101

样例输出 1

4 5 6 7

样例输入 2

1
1

样例输出 2

2

样例输入 3

2
01

样例输出 3

2 3

数据范围

对于所有数据,1≤n≤181\le n\le18,且 ∣s∣=n|s|=n。

子任务编号 分值 特殊限制
1 30 n≤3n\le3
2 n≤4n\le4
3 40 无特殊限制