HDU 4150Powerful Incantation
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 4150Powerful Incantation相关的知识,希望对你有一定的参考价值。
题意
给你s1,s2两个字符串,求s1中有多少个s2
代码
#include<stdio.h> #include<string.h> int t,len1,len2,pos,ok,ans; char s1[1000005],s2[15]; int main() { scanf("%d",&t); while(t--) { memset(s1,0,sizeof(s1)); memset(s2,0,sizeof(s2)); ok=1; ans=0; scanf("%s%s",s1,s2); len1=strlen(s1); len2=strlen(s2); int i=0; while(i<len1&&ok) { //找到s1的i位置开始 s2第一次出现的位置 pos=strstr(s1+i,s2)-s1-i; if (pos<0) ok=0; else { ans++; i+=pos+len2; } } printf("%d\n",ans); } return 0; }
以上是关于HDU 4150Powerful Incantation的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 970. Powerful Integers