求助。。。
<p>#include <stdio.h>int main()
{
int n,i,j,k,num,n1,n2;
char s,a,b,c;
scanf("%d",&n);
fflush(stdin);
if(n<=0||n>100)
{
n=0;
}
n1=n;
while(n--)
{
n2=1;
gets(s);
if(s=='\0')
{
n2=0;
c='0';
}
if(n2==1)
{
for(i=0,j=0;s!='\0';i++,j++)
{
if(s=='[')
{
a='[';
}
else if(s==']')
{
a=']';
}
else if(s=='(')
{
a='(';
}
else if(s==')')
{
a=')';
}
else
{
j -=1;
}
}
a='\0';
num=j;
while(a!='\0'&&num--)
{
for(i=0;a!='\0';i++)
{
if(a=='['&&a==']'||a=='('&&a==')')
{
a='0';
a='0';
}
}
for(i=0,k=0;a!='\0';i++,k++)
{
if(a=='[')
{
b='[';
}
else if(a==']')
{
b=']';
}
else if(a=='(')
{
b='(';
}
else if(a==')')
{
b=')';
}
else
{
k-=1;
}
}
b='\0';
for(i=0;i<=k;i++)
{
a=b;
}
}
if(a=='\0')
{
c='1';
}
else
{
c='0';
}
}
}
for(i=n1-1;i>=0;i--)
{
if(c=='1')
{
printf("Yes\n");
}
else if(c=='0')
{
printf("No\n");
}
}
return 0;
}</p><p>今天看了下acm一道括号配对的问题,就是让[ ] 和()配对。就写了一个,但是每次上传就说是结果错误。但感觉写没有错误呀,求大神指点.... </p>
怎么没人回答我呀:sad 运行了下,没有错误,不过你这算法用的空间太多了,而且没有提示信息,既然是ACM建议改下 风之残月 发表于 2014-11-29 21:43
运行了下,没有错误,不过你这算法用的空间太多了,而且没有提示信息,既然是ACM建议改下
不是呀。acm上传时不能有提示信息。他们所要求的的内存什么的也都合适呀,并没有超过的。就是不知道为什么不行,就提示结果错误, 1798927139 发表于 2014-11-30 11:28
不是呀。acm上传时不能有提示信息。他们所要求的的内存什么的也都合适呀,并没有超过的。就是不知道为什 ...
不清楚
页:
[1]