给定长度为 n 的 01 串 s=s1s2…sn,要求对每个位置 i,统计在它左侧(下标 <i)与 si 不同的字符个数。 我们可以采用前缀计数的方法:
定义两个变量 cnt0
和 cnt1
,分别记录当前已遍历字符中 '0'
和 '1'
的个数。
对每个位置 i:
'1'
,即 ai=cnt1;牛牛拥有一个长度为n的01串s=“s1s2...sn”(下标从1开始)。
对于每个位置i(1≤i≤n),定义:
ai为在i左侧(即下标<i的位置)中,字符与si不同的元素个数。
请你输出整个序列{a1,a2,...an}
每个测试文件均包含多组测试数据。第一行输入一个整数T(1≤T≤100)代表数据组数,每组测试数据描述如下:
在第一行输入一个整数n(1≤n≤103),表示字符串长度。
在第二行输入一个长度为n,仅由字符'0'和'1'组成的字符串s,表示初始字符串。
于每组测试数据,新起一行,按顺序输出n个整数a1,a2,...,an相邻整数之间用一个空格分隔。
输入
2
4
1101
5
01010
输出
0 0 2 1
0 1 1 2 2
说明
对于第一组测试数据: