
我下载了#1的数据,本地输出正确的啊。
4
4 O(n^2)
F a 32 n
F b 69 n
E
E
2 O(n^2)
F a 60 n
E
4 O(n^4)
F a 67 n
F b 36 n
E
E
10 O(n^4)
F a 78 81
F b 73 98
F c 7 n
F d 46 n
F e 35 n
E
E
E
E
E
Yes
No
No
No

#include<bits/stdc++.h>
using namespace std;
int t,l;
string s;
inline int read()
{
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=(x<<3)+(x<<1)+(ch^48);
ch=getchar();
}
return x*f;
}
void calc()
{
int sum=0;
bool flag=0;
int square=0,sq;
bool bigger=0;
map<char,int> mp;
for(int i=1;i<=l;i++)
{
char ch;
cin>>ch;
if(ch=='F')
{
sum++;
char name;
string begin,end;
cin>>name>>begin>>end;
//cout<<ch<<' '<<name<<' '<<begin<<' '<<end<<endl;
if(bigger)
continue;
if(mp[name]&&!flag)
{
cout<<"ERR"<<endl;
flag=1;
continue;
}
mp[name]=1;
if(begin=="n"&&end!="n")
{
bigger=1;
continue;
}
if(begin!="n"&&end=="n")
{
square++;
continue;
}
}
else if(ch=='E')
{
sum--;
sq=max(sq,square);
square=0;
}
}
if(flag)
return;
//cout<<square<<' ';
if(sum)
cout<<"ERR"<<endl;
else
{
if(s.size()==4)
{
if(sq)
{
cout<<"No"<<endl;
return;
}
cout<<"Yes"<<endl;
}
else
{
if(!sq)
{
cout<<"No"<<endl;
return;
}
string t=s.substr(4,2);
if(t[1]>='0'&&t[1]<='9')
{
int cnt=(t[0]-'0')*10+(t[1]-'0');
if(cnt==sq)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
else
{
int cnt=t[0]-'0';
if(cnt==sq)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
}
}
}
int main()
{
t=read();
for(int i=1;i<=t;i++)
{
cin>>l>>s;
calc();
}
return 0;
}