CF1767D.Playoff
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
2n teams participate in a playoff tournament. The tournament consists of 2n−1 games. They are held as follows: in the first phase of the tournament, the teams are split into pairs: team 1 plays against team 2 , team 3 plays against team 4 , and so on (so, 2n−1 games are played in that phase). When a team loses a game, it is eliminated, and each game results in elimination of one team (there are no ties). After that, only 2n−1 teams remain. If only one team remains, it is declared the champion; otherwise, the second phase begins, where 2n−2 games are played: in the first one of them, the winner of the game " 1 vs 2 " plays against the winner of the game " 3 vs 4 ", then the winner of the game " 5 vs 6 " plays against the winner of the game " 7 vs 8 ", and so on. This process repeats until only one team remains.
The skill level of the i -th team is pi , where p is a permutation of integers 1 , 2 , ..., 2n (a permutation is an array where each element from 1 to 2n occurs exactly once).
You are given a string s which consists of n characters. These characters denote the results of games in each phase of the tournament as follows:
- if si is equal to 0, then during the i -th phase (the phase with 2n−i games), in each match, the team with the lower skill level wins;
- if si is equal to 1, then during the i -th phase (the phase with 2n−i games), in each match, the team with the higher skill level wins.
Let's say that an integer x is winning if it is possible to find a permutation p such that the team with skill x wins the tournament. Find all winning integers.
输入格式
The first line contains one integer n ( 1≤n≤18 ).
The second line contains the string s of length n consisting of the characters 0 and/or 1.
输出格式
Print all the winning integers x in ascending order.
输入输出样例
输入#1
3 101
输出#1
4 5 6 7
输入#2
1 1
输出#2
2
输入#3
2 01
输出#3
2 3