1297: 皮皮兔的冒险之旅

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Special Judger Creator:
Submit:74 Solved:16

Description

为了追求刺激的冒险之旅,皮皮兔来到了宇宙的某个荒芜行星上,他发现了一座悬浮的锥形祭坛。祭坛表面刻着n枚星辰纹章,每枚纹章有星辉和尘黯两种状态,每枚纹章可抽取能量由星辉变成尘黯或者注入能量由尘黯变成星辉。据古法记载,当祭坛的星图以单星渐变的规律遍历所有$2ⁿ$种星图后,时空之门将被开启。为了方便解开这个祭坛谜题,现在皮皮兔给这n枚纹章分别编号为1~n。当祭坛星图改变遵从以下规则时,时空之门将被开启:

  1. 每次只能改变一枚纹章的状态,即抽取当前状态为星辉的纹章的能量或者给当前状态为尘黯的纹章注入能量。

  2. 过程中不允许出现与之前相同的星图。

  3. 要求遍历所有$2^n$种星图。

本题需要

#define endl '\n'

ios::sync_with_stdio(0);//添加在主函数第一行

cin.tie(0);cout.tie(0);//添加在主函数第二行


Input

​ 第一行共一个正整数T,表示共有T组测试用例。

​ 每组测试用例输入共两行。第一行一个正整数$n$,表示共$n$枚纹章;第二行为由’-’和’+’两种字符构成的长度为$n$的字符串(其中’+’表示星辉,’-’表示尘黯),表示祭坛的初始状态

Output

​ 每组测试用例输出共包含$2^n-1$行,每行共一个数,表示改变的是第几个纹章。

​ **注意:**题目保证总输出行数不超过$2\times10^6$,即$\sum_{i=1}^{T}2^{n_i}-T\le2\times{10}^6$其中$n_i$表示第$i$组的$n$;

Sample Input Copy

2
1
-
2
--

Sample Output Copy

1
1
2
1