题目:
简单模拟一下就行。
AC代码:
/*
2017年8月29日20:29:12
Problem D. Clones and Treasures
AC签到
*/
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <queue>
#include <vector>
using namespace std;
const int maxn=1e6+10;
char s[maxn];
void solve(){
int len=strlen(s);
int cur_h=0,cur_g=0,mx=0,ans;
for(int i=0;i<len;i++){
if(s[i]=='K'){
if(cur_h<1) cur_g=0;
else cur_h--;
}
else if(s[i]=='H'){
cur_h++;
}
else if(s[i]=='M'){
cur_g++;
mx=max(cur_g,mx);
}
}
printf("%d\n",mx);
}
int main(){
while(~scanf("%s",s)){
solve();
}
return 0;
}