1.容易超时。
//for(int i=0;j<len1&&i<len2;i++)----->正确
//for(int i=0;j<strlen(a)&&i<strlen(b);i++)----->超时
2.用最长公共子序列应该可以做出来。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char a[100100];
char b[100100];
int main()
{
while(scanf("%s%s",a,b)!=EOF)
{
int j=0;
int flag=0;
int len1=strlen(a);
int len2=strlen(b);
for(int i=0;j<len1&&i<len2;i++)
//--->for(int i=0;j<strlen(a)&&i<strlen(b);i++)
{
if(a[j]==b[i])
{
j++;
}
}
if(j==strlen(a))
{
printf("Yes\n");
}
else
{
printf("No\n");
}
memset(a,'\0',sizeof(strlen(a)));
memset(b,'\0',sizeof(strlen(b)));
}
return 0;
}