题意:
给定一个由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; }