题解:P13414 [COCI 2012/2013 #4] ESEJ
AutumnMoon · · 题解
题意:判断
只需要遍历每个字母,如果栈顶字母和当前字母相同,弹出栈顶,否则就把它压入栈,最后判断栈是否为空,为空就说明全部配对完成。
#include<bits/stdc++.h>
using namespace std;
bool pd(const string &a) {
stack<char>s;
for(size_t i=0;i<a.size();i++) {
if(!s.empty()&&s.top()==a[i])s.pop(); //判断栈顶字母是否和当前字母相同,相同弹出栈顶。
else s.push(a[i]); //不同把它压出栈。
}
return s.empty();
}
int n,ans;
string a;
int main() {
cin>>n;
for(int i=0;i<n;i++) {
cin>>a;
if(pd(a))ans++;
}
cout<<ans;
}