CODE:

 

#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <map>
using namespace std;

#define MAXN 10000001
map<stringint> 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;
}

 

posted on 2012-10-14 18:54  有间博客  阅读(94)  评论(0编辑  收藏  举报