CODE:
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <map>
using namespace std;
#define MAXN 10000001
map<string, int> Map;
char sz1[MAXN], sz2[MAXN];
void KMP(int len1, int len2)
{
int i = 0, j = 0;
while(i < len1)
{
if(sz1[i] == sz2[j])
{
i++;
j++;
}
else i++;
}
if(j >= len2) printf("Yes\n");
else printf("No\n");
}
int main()
{
while(~scanf("%s%s", sz2, sz1))
{
int len1 = strlen(sz1), len2 = strlen(sz2);
if(len1 < len2) printf("No\n");
else
{
KMP(len1, len2);
}
}
return 0;
}
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <map>
using namespace std;
#define MAXN 10000001
map<string, int> Map;
char sz1[MAXN], sz2[MAXN];
void KMP(int len1, int len2)
{
int i = 0, j = 0;
while(i < len1)
{
if(sz1[i] == sz2[j])
{
i++;
j++;
}
else i++;
}
if(j >= len2) printf("Yes\n");
else printf("No\n");
}
int main()
{
while(~scanf("%s%s", sz2, sz1))
{
int len1 = strlen(sz1), len2 = strlen(sz2);
if(len1 < len2) printf("No\n");
else
{
KMP(len1, len2);
}
}
return 0;
}