喵啊啊QAQ本地运行和提交不同
查看原帖
喵啊啊QAQ本地运行和提交不同
1065103
Atri_Lobato楼主2024/8/20 19:51

82分 wa on #6 #10 6数据:

2
54 O(n^9)
F a 8 n
F b 60 62
F c 20 n
F d 81 n
F e 70 n
F f 78 n
E
E
E
E
E
E
F a 76 n
F b 34 n
F c 16 n
F d 2 n
F e 5 n
F f 87 n
F g 8 n
F h 3 n
F i n 17
E
E
E
E
E
E
E
E
E
F a 90 n
F b 79 n
F c 24 n
F d 58 n
F e 58 n
F f 61 32
F g 5 n
F h 80 n
F i 54 n
F j 5 n
F k 79 97
F l 61 86
E
E
E
E
E
E
E
E
E
E
E
E
42 O(n^4)
F a 38 n
F b 7 n
F c n n
F d 79 n
F e 20 n
F f 99 7
F g 68 n
F h 74 n
F i 24 n
E
E
E
E
E
E
E
E
E
F a 10 n
F b 65 n
F c 45 91
F d n 7
F e 44 n
E
E
E
E
E
F a 75 n
F b 55 n
F c 82 39
F d 59 n
F e 38 n
F f 36 50
F g 40 n
E
E
E
E
E
E
E

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s[10005];
char s2[10005];
int stack1=0;//几层循环 
bool ne[10005];
int reboot;
char nn[10005];
int maxn=0;
int ans;
bool name[50];
int l;
int q;
int main()
{
	int t;
	scanf("%d",&t);
	for(int i=1;i<=t;i++)
	{
		scanf("%d%s",&l,s);
		bool flag=0;
		stack1=0;
		ans=0;
		bool ef=1;
		maxn=0;
		memset(nn,0,sizeof(nn));
		memset(ne,0,sizeof(ne));
		memset(name,0,sizeof(name));
		for(q=1;q<=l;q++)
		{
			char type[5],x[5],y[5];	
			char newn[5];
			scanf("%s",type);
			
			if(type[0]=='E')
			{
				if(flag)
				continue;
				name[nn[stack1]-'a']=0;
				if(stack1==reboot)
				{
					ef=1;
				}
				if(ne[stack1])
				{
					maxn--;
					ne[stack1]=0;
				}
				stack1--;
			}
			else
			{
				scanf("%s%s%s",newn,x,y);
				if(flag)
				continue;
				stack1++;
				if(name[newn[0]-'a'])
				{
					flag=1;
					continue;
				}
				nn[stack1]=newn[0];
				name[newn[0]-'a']=1;
				if(ef==0)
				continue;
				if(x[0]<='9'&&x[0]>='0'&&y[0]<='9'&&y[0]>='0')
				{
					if(x<=y)//o1
					{
						
					}
					else//no
					{
						ef=0;
						reboot=stack1;
					}
				}
				else if(x[0]=='n'&&y[0]=='n')//o1
				{
					
				}
				else if(x[0]=='n')//no
				{
					ef=0;
					reboot=stack1;
				}
				else//on
				{
//					cout<<">_<";
					ne[stack1]=1;
					maxn+=1;
					ans=max(ans,maxn);
				}
			}
		}
		if(flag==1||stack1!=0)
		{
			printf("ERR\n");
			continue;
		}
//		cout<<q<<endl;
		if(s[2]=='1')
		{
			if(ans>=1)
			{
				printf("No\n");
			}
			else
			{
				printf("Yes\n");
			}
			continue;
		}
		int O=0;
//		cout<<"O("<<ans<<")\n";
		if(s[2]=='1')
		{
			if(ans==0)
			printf("Yes\n");
			else
			printf("No\n");
			continue;
		}
		for(int q=4;s[q]!=')';q++)
		{
			O*=10;
			O+=int(s[q]-'0');
		}
//		cout<<"O("<<O<<")\n\n";
		if(O==ans)
		{
			printf("Yes\n");
		}
		else
		{
			printf("No\n");
		}
	}
	return 0;
}
2024/8/20 19:51
加载中...