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); }