平衡
时间限制:1秒 内存限制:128M
题目描述
对于给定的只含有01的字符串
s ,如果非空字符串
s 的0和1的个数相同,则称字符串
s 为平衡01串,比如 :0110 ,001101。
小可非常喜欢这种平衡01串,且小可可以两个连续的0变成一个1 。所以有的字符串经过小可的操作之后,也可以变成平衡01串,比如: 字符串 000000 ,可以变成1100 ,这种字符串也可以认为是 平衡01串。
小可有一个字符串
str ,小可想知道
str 的非空子串有多少个是平衡01串。
输入描述
第一行:输入一个正整数
t ,表示多组测试的组数。
对于每组测试数据,输入两行:
第一行:输入一个正整数
n ,表示字符串的长度。
第二行:输入一个字符串
s ,仅由0或1构成。
输出描述
对于每组测试数据,输出
s 有多少个非空子串是平衡01串。
输入样例
5
3
101
5
01000
4
0000
7
0010001
6
111000
输出样例
2
4
2
7
4
请给出完整c++代码