【题目】
匹配两个字符串。
【题目分析】
应别人的要求写一个模板。
【代码】
#include <cstdio>
#include <cstring>
#define maxn 101
char s[maxn],t[maxn];
int ne[maxn],f[maxn];
int main()
{
scanf("%s%s",s+1,t+1);
for (int i=2,j=0;i<=strlen(s+1);++i)
{
while (j&&s[j+1]!=s[i]) j=ne[j];
if (s[j+1]==s[i]) j++;
ne[i]=j;
}
for (int i=1,j=0;i<=strlen(s+1);++i)
{
while (j&&t[j+1]!=s[i]) j=ne[j];
if (s[j+1]==s[i]) j++;
f[i]=j;
}
for (int i=1;i<=strlen(s+1);++i)
printf("%d ",f[i]);
printf("\n");
}