AtCoder Beginner Contest 174 ——D.Alter Altar(思维)

原题链接
题意:
给定一个由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;
}
 
posted @ 2020-11-28 21:17  OvO1  阅读(41)  评论(0编辑  收藏  举报