这几天会把我找到的2014年的宁波市中小学生程序设计竞赛(复赛)的五道题整理一下,分五次发到博客上。大约在今明/12.3/4号前后完成,请大家拭目以待。
话不多说,我们先开始初中组的一道题——
题目描述
马年到了,也到了检阅战马的时候。战马分为白色和棕色两种,一字排开,指挥官希望他的战马队列尽可能整齐好看,将相同颜色的战马放在一起。
大部分人都喜欢高头白马,因此,指挥官要求白马排在前面,棕马排在后面。现在,N匹战马都已经在广场列队。为了达到要求,指挥官可以调换任意一个位置上的战马(有充足的备用战马)。问至少调换多少匹可以达到要求。
输入
第一行一个整数N,表示已经排队的战马数量。
第二行一个字符串,表示当前队列从前到后战马的颜色,只包含两种字符,"W"表示白马,"B"表示黑马。
输出
输出一个数字,表示至少需要调换多少匹战马。
输入样例1:
5
WWWBB
输出样例1:
0
【样例1解释】
已经符合白马在前,棕马在后,不需要调换。
输入样例2:
5
WBWBW
输出样例2:
2
【样例2解释】
可以把棕马都换成白马WWWWW,或者WWWBB,都是符合要求的队列,至少调换2匹。
【数据范围】
30%的数据N<=20。
70%的数据N<=500。
100%的数据N<=1000。
样例输入
5
WBWBW
样例输出
2
提示
别被这道宁波的、初中组的题吓死了,只要你会了条件运算符和循环,这题就是只老鼠(连纸老虎都不是)。
代码很简单,我用C++写的,有兴趣的同学改一下头文件和输人输出就能转成C.
#include<bits/stdc++.h>
using namespace std