您的位置:首页 > 其它

hdu 1501 Zipper--LCS

2011-08-07 10:29 435 查看
#include<stdio.h>
#include<string.h>
char a[210],b[210],c[420],d[210][210];//忘了c应该是400+
int main()
{
int t,n=1,i,j,len1,len2,len3;
scanf("%d",&t);
getchar();
while(t--)
{
scanf("%s%s%s",a+1,b+1,c+1);
len1=strlen(a+1)+1;
len2=strlen(b+1)+1;
len3=strlen(c+1)+1;
memset(d,0,sizeof(d));
for(i=1;i<len1;i++)//注意初始化
if(a[i]==c[i])
d[i][0]=1;
for(i=1;i<len2;i++)
if(b[i]==c[i])
d[0][i]=1;
for(i=1;i<len1;i++)
for(j=1;j<len2;j++)
d[i][j]=(d[i-1][j]&&(a[i]==c[i+j]))||(d[i][j-1]&&(b[j]==c[i+j]));
printf("Data set %d: ",n++);
if(d[len1-1][len2-1])
printf("yes\n");
else printf("no\n");
}
return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c