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