码迷,mamicode.com
首页 > 其他好文 > 详细

HDU - 1686 Oulipo

时间:2014-07-29 17:06:22      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   问题   div   ar   

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1686

又是一道字符串匹配问题,同样也是KMP算法,就是多记一下模式串的重复频率。

 1 #include<stdio.h>
 2 #include<string.h>
 3 const int maxn=10000+5,maxm=1000000+10;
 4 char word[maxn],text[maxm];
 5 int next[maxn];
 6 void get_next(int n)
 7 {
 8     int i=0,j=-1;
 9     next[i]=j;
10     while(i<n){
11         if(j==-1 || word[i]==word[j]) {j++;i++;next[i]=j;}
12         else j=next[j];
13     }
14 }
15 int get_occurrence(int len1,int len2)
16 {
17     int i=0,j=0,num=0;
18     while(i<len2 && j<len1){
19         if(j==-1 || word[j]==text[i]) {i++;j++;}
20         else j=next[j];
21         if(j==len1){
22             num++;
23             j=next[j];
24         }
25     }
26     return num;
27 }
28 int main()
29 {
30     int t;
31     scanf("%d",&t);
32     while(t--){
33         scanf("%s%s",word,text);
34         int len1=strlen(word),len2=strlen(text);
35         get_next(len1);
36         int ans=get_occurrence(len1,len2);
37         printf("%d\n",ans);
38     }
39     return 0;
40 }

 

HDU - 1686 Oulipo,布布扣,bubuko.com

HDU - 1686 Oulipo

标签:style   blog   http   color   io   问题   div   ar   

原文地址:http://www.cnblogs.com/BMESwimming/p/3875636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!