在一场国际交流会上,有若干来自H
国的成员和来自G
国的成员参加本次会议。
晚会结束,按照惯例,大家一起拍合影。在该照片中来自H
国的成员,用大写字母H
表示,来自G
国的成员用大写字母G
表示。
摄影师会为每个连续的不少于 3 个人的子序列拍一张照片,这将是一个巨大的工作量。
拍摄结束后,细心的摄影师会检查一下这些照片,如果一张照片中两个国家的成员都出现了,但其中居然只有 1 名成员来自同一个国家,这样的照片不符合国际合影惯例,将会被摄影师删除。
给出所有成员合影时从左至右站的顺序,请求出摄影师会删除多少张照片。
如果两张照片拍摄成员的开始位置或者结束位置不同,我们认为这两张照片是不同的。
输入的第一行包含整数 N 代表了合影的成员总人数。
输入的第二行包含一个长为 N 的字符串,字符仅由G
或者H
构成。
被摄影师删除的照片张数。
5 GHGHG
3
6 GGGHHH
4
6 GGGGGG
0
【样例解释】
拍摄含有 3 个人的照片,结果为:GHG
、HGH
、GHG
,请注意第 1 张和第 3 张照片虽然字符串一样,但这是拍摄的不同位置的成员,因此要视为是不同的照片。可以发现,这三张照片,都是要删除的照片。
拍摄含有 4 个人或者含有 5 个人的照片,结果为:GHGH
、HGHG
、GHGHG
,这些照片都是符合规范的。
【数据范围】
50\% 的数据满足 N≤50;
100\% 的数据满足 N≤5 \times 10^5;
请注意,本题答案可能会超过10^9,但不会超过1018。
USACO 2021 December Contest, Bronze