题目
Problem Statement
东东有一个字符串X,该串包含偶数个字符,一半是 S 字符,一半是 T 字符
东东可以对该字符串执行 1010000 次操作:如果存在 ST 是该串的子串,则删除掉最左边的 ST。
即 TSTTSS⇒TTSS、SSSTTT⇒SSTT⇒ST⇒空Input(2 ≦ |X| ≦ 200,000)
Output
输出最终串的长度
Sample Input 1
TSTTSS
Sample Output 1
4
做法
分析后没啥难度,直接上代码
代码
#include<iostream>
#include<string>
#include<string.h>
using namespace std;
const int maxn=200010;
int main()
{
char x[maxn];
cin>>x;
int n=strlen(x);
// cout<<n<<endl;
int sumt=0,sums=0;
for(int i=0;i<n;i++)
{
if(x[i]=='S')
sums++;
else
{
if(sums>0)
sums--;
else
sumt++;
}
}
cout<<sums+sumt<<endl;
return 0;
}