您的位置:首页 > 其它

poj 2192 字符串匹配

2013-03-12 11:13 225 查看
poj 2192

判断s1,s2是否能组成s3,可以全部匹配,比较简单,直接判断就行

#include<stdio.h>
#include<string.h>
int dp[1010][1010];
int l1,l2;
char s1[1010],s2[1010],s3[2020];
int main()
{
int i,j,k,n;
scanf("%d",&n);
for(k=1;k<=n;k++)
{
scanf("%s %s %s",&s1,&s2,&s3);
memset(dp,0,sizeof(dp));
l1=strlen(s1);
l2=strlen(s2);
dp[0][0]=1;
for(i=0;i<=l1;i++)
{
for(j=0;j<=l2;j++)
{
if(i>0&&s1[i-1]==s3[i+j-1]&&dp[i-1][j]==1)
dp[i][j]=1;
if(j>0&&s2[j-1]==s3[i+j-1]&&dp[i][j-1]==1)
dp[i][j]=1;
}
}
printf("Data set %d: ",k);
if(dp[l1][l2]==1)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: