题目描述
桌上有 n ( 1 < n < 10000 ) 面小旗,一部分是白旗,一部分是红旗(波兰国旗由白色和红色组成)。唯一允许的操作是交换两面小旗位置。请你设计一个算法,用最少的交换操作将所有的白旗都置于红旗的之前。
输入格式
第一行为一个整数,即 n 第二行为 n 个字符,W 表示白旗,用R 表示红旗
输出格式
最小交换次数
输入样例复制
在这里给出一组输入。例如:
6
WRWRRW
输出样例复制
在这里给出相应的输出。例如:
1
结尾处请不要有多余字符
#include<stdio.h>
int main()
{
int n;
scanf("%d\n",&n);
int i,c=0,d=0;
char s[n];
for(i=0; i<n; i++)
{
scanf("%c",&s[i]);
if(s[i]=='W')
c++;
}
for(i=0;i<c;i++)
{
if(s[i]=='W')
d++;
}
printf("%d\n",c-d);
return 0;
}