题面翻译
给定一个只包含大写字母
Q 和 A 的字符串,如果字符串里的每一个 Q都能与在其之后的
A 一一对应地匹配,则输出字符串 Yes,否则输出字符串 No。注意,可以有 A 没有被匹配,但每个 Q 必须成功地匹配。
输入格式
输入一个只包含大写字母 Q 和 A 的字符串。
输出格式
输出字符串 Yes 或 No。
输入输出样例
输入 #1
5
4
QQAA
4
QQAQ
3
QAA
1
Q
14
QAQQAQAAQQQAAA
输出 #1
Yes
No
Yes
No
Yes
#include <iostream>
using namespace std;
int main()
{
int n,m,num=0;
cin>>n;
string s;
for(int i=0;i<n;i++)
{
cin>>m;
cin>>s;
for(auto c:s)
{
if(c=='Q') num--;
if(c=='A')
{
if(num==0) ;//特别注意某个A前的Q已全被抵消,此时遇到A不可以num++
else num++;
}
}
if(num>=0) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
num=0;
}
return 0;
}