| ||||||||||
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,后来却AC#include<stdio.h> #include<string.h> int main() { char a[5000],b[5000]; int n,p[5000],q[5000],z[5000],i,j,k; scanf("%d%s",&n,a); for(j=0,i=n-1;i>=0;--i) b[j++]=a[i]; // b[j]=0; 为什么加上这句就WA ? 去掉就AC。——明明b[n]是在后面的程序中没使用到的,郁闷了好久 for(i=0;i<n;++i) if(a[0]==b[i]) { for(j=i;j<n;++j) p[j]=1; break; } else p[i]=0; for(i=0;i<n;++i) if(b[0]==a[i]) { for(j=i;j<n;++j) q[j]=1; break; } else q[i]=0; for(i=1;i<n;++i) { z[0]=q[i]; for(j=1;j<n;++j) if(a[i]==b[j]) { z[j]=p[j-1]+1; } else z[j]=p[j]>z[j-1]?p[j]:z[j-1]; for(k=0;k<n;++k) p[k]=z[k]; } printf("%d\n",n-p[n-1]); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator