#400. [CZOI2014 G] 奖牌整理

[CZOI2014 G] 奖牌整理

问题描述

上完一天的课,小Z不但没有一丝疲惫感,反而觉得浑身是劲,好象又回到了童年,他蹦蹦跳跳地回到家,吃过晚饭很快就做完了作业,抬头一看觉得房间太乱了,这不进入初三后由于课业繁重一直没时间整理房间,现在有空了是时候该好好整理一下了。小Z首先想要整理的是他那些心爱的奖牌,这些奖牌记录了小Z成长的足迹,其中有龙城少儿围棋比赛的银牌,有华罗庚杯少年数学邀请赛的铜牌,份量最重的当数全国信息学奥林匹克竞赛的金牌,小Z喜欢把他获得的奖牌都挂在床头,并且成一字排开状,他每得到一枚奖牌就会在床头钉一颗钉子,将这枚奖牌挂在所有奖牌的未尾,也就是说小Z的奖牌是按获得时间的先后顺序来排列的,现在小Z想把它们按金银铜的顺序排列,即所有的金牌挂在最前面,随后是银牌,最后是铜牌。小Z重排奖牌的方法很特别,他每次都是同时伸出双手各摘下一块奖牌,然后把这两块奖牌的位置对换一下,即左手摘下的奖牌放到右手摘下的奖牌的位置,右手摘下的奖牌放到左手摘下的奖牌的位置,咦!这怎么看上去有点像交换赋值,太有才了!现在小Z想考考你,给定奖牌序列,计算最少需要几次对换操作就可以将所有奖牌按金银铜牌的顺序排好。

输入格式

输入数据第一行只有一个正整数 NN 表示奖牌序列的长度。第二行有 NN 个大写字母,每个大写字母代表一枚奖牌,其中 G 代表金牌,S 代表银牌,B 代表铜牌。

输出格式

输出数据仅有一行包含一个整数,表示最少需要几次对换操作。

9
SSGBBBSBG
4

数据范围

10%10\% 的数据满足:奖牌种类只有两种

30%30\% 的数据满足: n10n\leq 10

60%60\% 的数据满足: n100n\leq 100

100%100\% 的数据满足: n1000n≤1000