以下是我写的代码,0分,测试格式没有分行令人窒息
by ryarrn @ 2018-10-15 21:30:20
NOIp原题+3600人ac,不需要怀疑有问题~~吧~~
by Reywmp @ 2018-10-15 21:30:42
```
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
const int maxn=10000000;
int n,line,cnt_stack,cnt_bs,answer=1,max_stack,flag2,stack[1000];
char ch,ch0;
string st,st2,ch2,ch3;
int flag=maxn;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
memset(stack,0,sizeof(stack));
cin>>line;
getchar();
getline(cin,st);
// if(i==4)
// cout<<line;
for(int j=1;j<=line;j++)
{
// if(i==4)
// cout<<line<<j<<endl;
cin>>ch;
if(ch=='E')
{
cnt_stack--;
if(cnt_stack<0)
{
flag2=1;
cnt_stack=100;
}
continue;
}
else if(ch=='F')
{
cnt_stack++;
if(cnt_stack>flag)
continue;
else flag=maxn;
cin>>ch>>ch2>>ch3;
stack[cnt_stack]=ch;
if(ch2[0]=='n'&&ch3[0]=='n')
answer*=1;
else if(ch2[0]!='n'&&ch3[0]=='n')
{
if(answer==1)
answer=maxn;
else if(cnt_stack>max_stack)
{
max_stack=cnt_stack;
answer=maxn*cnt_stack;
}
}
else if(ch2[0]=='n'&&ch3[0]!='n')
{
flag=cnt_stack;
}
if(cnt_stack<0)
break;
if(cnt_stack<=0||cnt_stack>2||(stack[1]==stack[2]&&((stack[1]=='x')||(stack[1]=='y')||(stack[1]='i'))))
{
flag2=1;
}
}
else j--;
}
if(flag2)
{
cout<<"ERR"<<endl;
flag=maxn;
answer=1;
cnt_stack=max_stack=0;flag2=1;
flag2=0;
continue;
}
// cout<<answer;
if(cnt_stack!=0)
{
cout<<"ERR"<<endl;
flag=maxn;
answer=1;
cnt_stack=max_stack=0;
continue;
}
int cnt=answer/maxn;
if(cnt==0)
st2.insert(0,"O(1)");
else
{
ch0=cnt+'0';
st2.insert(0,"O(n^");
st2+=ch0;
st2+=')';
}
for(std::size_t z = 0; z < st2.size(); z++)
if(st2[z]!=st[z])
{
// cout<<st[z]<<st2[z];
st2="";
cout<<"No"<<endl;
answer=1;
cnt_stack=max_stack=0;
flag2=1;
break;
}
if(flag2)
{
flag2=0;
continue;
}
st2="";
answer=1;
cnt_stack=max_stack=0;
cout<<"Yes"<<endl;
}
// system("pause");
return 0;
}
```
by ryarrn @ 2018-10-15 21:31:01
@[ALIENWARE](/space/show?uid=57273) 可是测试数据的数据格式没分行,题目给的要求是分行的(可能是我太菜了qwq),大佬您能稍微给蒟蒻的我解释一下吗
by ryarrn @ 2018-10-15 21:32:15
@[hzkzzz](/space/show?uid=125912) ~~其实我没做~~
by Reywmp @ 2018-10-15 21:33:26
@[hzkzzz](/space/show?uid=125912) windows下换行符是\r\n,linux是\n
看看是不是这个问题,我ac这题完全没发现过数据格式有问题,(可能是写字板支持\n换行吧)。
by _虹_ @ 2018-10-15 21:35:05
@[ALIENWARE](/space/show?uid=57273) ![](C:\Users\Administrator\Desktop)
大佬这是测试数据的截图
by ryarrn @ 2018-10-15 21:37:01
@[_虹_](/space/show?uid=56184) 我的写字板的数据数字都是连起来的qwq那张图片不知道能不能看,换行都没了,只有空格,换行符直接消失了连空格都不换qwq
by ryarrn @ 2018-10-15 21:38:20
....那就不知道了,但是我上个月写在线处理ac就是判断\n来清空行。毫无问题。。。。
by _虹_ @ 2018-10-15 21:41:08
@[hzkzzz](/space/show?uid=125912)
![](https://cdn.luogu.com.cn/upload/pic/38012.png)
对的啊QAQ
而且如果不对肯定早在之前就被提出了QAQ
by chen_zhe @ 2018-10-15 21:41:23