Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
45879 xujindong 【模拟赛3】JF 和 HJJ 是什么关系 C++ 通过 100 59 MS 3192 KB 567 2022-02-25 12:51:52

Tests(7/7):


#include <bits/stdc++.h> using namespace std; char a[10000000],b[10000000]; int p[11000000]; int main() { scanf("%s%s",a+1,b+1); int i,j=0; p[1]=0; int n=strlen(a+1),m=strlen(b+1); for(int i=1; i<m; ++i) { while(j>0&&b[j+1]!=b[i+1])j=p[j]; if(b[i+1]==b[j+1])j++; p[i+1]=j; } j=0; for(i=0; i<n; ++i) { while(j>0&&b[j+1]!=a[i+1])j=p[j]; if(b[j+1]==a[i+1])++j; if(j==m) { printf("%d\n",i+1-strlen(b+1)+1); j=p[j]; } } for(int i=1; i<=m; ++i)printf("%d ",p[i]); return 0; }


测评信息: