您的位置:首页 > 其它

poj1936

2017-02-09 09:11 197 查看

题目大意:

给两个字符串s和t,判断s是否是t的子串

解题思路:

暴力求解法

代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
char s[100010],t[100010];
int vis[100010];
int i,j,k,flag,mark;
while(scanf("%s%s",s,t)!=EOF)
{
memset(vis,0,sizeof(vis));
k=flag=0;
for(i=0;i<strlen(s);i++)
{
if(strlen(t)-k<strlen(s)-i)
{
flag=1;break;
}
mark=0;
for(j=k;j<strlen(t);j++)
{
if((s[i]==t[j])&&(!vis[j]))
{
mark=1;
k=j+1;
break;
}
}
if(!mark)
{
flag=1;
break;
}
}
if(flag)
{
printf("No\n");
}
else
{
printf("Yes\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  poj