CF353D Queue(结论)

题意:

给出一个由男女生组成的队列,每一秒钟,如果女生的前面是男生,那么会主动的与前面的男生交换位置。

询问过了多少秒所有女生都排在了最前面。

题解:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+100;
string s;
int main () {
    cin>>s;
    int sum=0;
    int ans=0;
    int p=0;
    while (p<s.size()&&s[p]=='F') p++;
    for (int i=p;i<s.size();i++) {
        if (s[i]=='F') {
            ans=max(ans+1,sum);
        }
        else
            sum++;
    }
    printf("%d\n",ans);
}

 

posted @ 2020-09-15 15:02  zlc0405  阅读(135)  评论(0编辑  收藏  举报