网友投稿 588 2022-10-20
HDOJ - 1586 更新下KMP的模板...
模板题...更新模板...
Program:
#include#include#include#include#include#include#include#define ll long long #define oo 1000000000using namespace std; char s[2][1000005];int _next[1000005];int main(){ int T,i,j,k,l0,l1,ans; scanf("%d",&T); while (T--) { scanf("%s%s",s[0]+1,s[1]+1); l0=strlen(s[0]+1); l1=strlen(s[1]+1); memset(_next,0,sizeof(_next)); s[0][l0+1]='#'; for (i=2;i<=l0+1;i++) { k=_next[i-1]; while (k && s[0][k]!=s[0][i-1]) k=_next[k]; _next[i]=k+1; } k=ans=0; for (i=1;i<=l1;i++) { k++; while (k && s[0][k]!=s[1][i]) k=_next[k]; if (k==l0) ans++; } printf("%d\n",ans); } return 0;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~
暂时没有评论,来抢沙发吧~