原题链接
题意:
给定一个由R和W构成的字符串,每次可以对R和W进行交换,问最少交换多少次使得所有的R都在W的前面。
思路:
首先R和W的个数都是固定的,所以说最后结尾一定是所有的W。
假设字符串里一共有cnt个W,那么最后cnt位里的R的个数就是需要交换的次数。
代码:
char s[maxn];
int main(){
int n=read();
cin>>s+1;
int num=0,res=0;
for(int i=1;i<=n;i++)
if(s[i]=='W') num++;
for(int i=n-num+1;i<=n;i++)
if(s[i]=='R') res++;
cout<<res<<endl;
return 0;
}