程序员的一生时间90%是用在编程上,而剩余的10%是活在世界上。

//kmp最强模板
#include <iostream>
#include<bits/stdc++.h>

using namespace std;
void qnext(int next[],char *zi)
{
    int i,k;
    next[0] = 0;
    for(i=1,k=0;zi[i];i++)
    {
        while(k>0&&zi[k]!=zi[i])
        {
            k = next[k-1];
        }
        if(zi[k]==zi[i])k++;
        next[i] = k;
    }
}
int kmp(int m,char mu[],char zi[],int *next)
{
    int i,k;
    int cnt = 0;
    for( i=0,k=0;mu[i];i++)
    {
        while(k>0&&zi[k]!=mu[i])k = next[k-1];
        if(zi[k]==mu[i])k++;
        if(k==m) {cnt++;}
    }
    return cnt;//此处为求zi串在mu串中次数

}

int main()
{
    int next[301]={0};//特殊数据 aabaabaa 12121
    char zi[300],mu[300];
    //cout << "Hello world!" << endl;
    scanf("%s %s",mu,zi);
    qnext(next,zi);
    int m = strlen(zi);
    printf("%d\n",kmp(m,mu,zi,next));
    return 0;
}