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