| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
自己测了很多数据都是正确的 但交上去却wa 请各路大侠帮忙看下啊#include <stdio.h>
#include <string.h>
char seq[100];
int pre[100];
int max[100];
int main()
{
int i,j,k,l,b;
#ifndef ONLINE_JUDGE
freopen ("2955.txt","r",stdin);
#endif
while(scanf("%s",seq)!=EOF&&seq[0]!='e')
{
memset(pre,-1,sizeof(pre));
memset(max,0,sizeof(max));
l=strlen(seq);
for(i=0;i<l;i++)
{
if(seq[i]=='('||seq[i]=='[')
{
max[i]=1;
pre[i]=i;
for(j=i-1;j>=0;j--)
{
if(seq[j]==')'||seq[j]==']')
{
max[i]=max[j]+1;
pre[i]=pre[j];
break;
}
}
}
else
{
for(j=i-1;j>=0;j--)
{
b=0;
if(seq[j]==seq[i]-1||seq[j]==seq[i]-2)
{
if(max[i]<2)
{
max[i]=max[j]+1;
pre[i]=j;
}
for(k=i-1;k>j;k--)
{
if(pre[k]>j&&(seq[k]==')'||seq[k]==']'))
{
b+=max[k]-max[pre[k]]+1;
k=pre[k];
}
}
if(b+max[j]+1>max[i])
{
max[i]=b+max[j]+1;
pre[i]=j;
}
}
}
}
}
b=0;
for(i=0;i<l;i++)
if(seq[i]==')'||seq[i]==']')
if(b<max[i]) b=max[i];
printf("%d\n",b);
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator