先把字符串按连续相同字符压成若干段,设段长为:
a1,a2,a3,…,ak
这些段的属性一定是交替出现的。
观察每一轮会发生什么:
现在有 n 条Plog 在首页上排成一列,队尾在下侧,队头在上侧。
用长度为 n 的01串 s=s1,s2,…,sn 表示这条队列,其中: 若si=1,则第 i 条 Plog 属于美食; 若 si=0,则第 i 条 Plog 属于旅行。
一共会进行无限轮互评操作,每一轮: 所有 Plog 的拥有者同时向队头(右侧)互评; 互评只会影响每条 Plog 右侧的第一个异属性 Plog,如果右侧没有异属性 Plog,则不会产生互评操作; 每轮所有互评动作并行计算,然后一次性将所有已经有评论的 Plog 移出,形成新队列再进入下一轮;同一条 Plog 在一轮可能收获多条评价。
显然,无限进行下去,终究会出现不再有互评发生的情况。求整个过程中共有多少条Plog 收获评价。
第一行输入一个整数n(1≤n≤105),表示 Plog 数量。
第二行输入一个长度为 n 且只由字符 0 和1构成的字符串s,表示 Plog 的属性分布,其中 si 为从左向右第i 条 Plog 的属性。
输出一个整数,表示所有互评结束后共有多少条 Plog 收获评价。
输入
5
11101
输出
2
说明
解释: 在这个样例中:第一轮,第三条(1)评论第四条(0),第四条(0)评论第五条(1),共2条 Plog 收获评论;剩余前三条 Plog拼接为 "111",此时剩下的全是美食Plog,不再发生互评现象。