zoukankan      html  css  js  c++  java
  • 1094.String matching

    题目描述:
        Finding all occurrences of a pattern in a text is a problem that arises frequently in text-editing programs. 
        Typically,the text is a document being edited,and the pattern searched for is a particular word supplied by the user.  
        We assume that the text is an array T[1..n] of length n and that the pattern is an array P[1..m] of length m<=n.We further assume that the elements of P and  T are all alphabets(∑={a,b...,z}).The character arrays P and T are often called strings of characters.  
        We say that pattern P occurs with shift s in the text T if 0<=s<=n and T[s+1..s+m] = P[1..m](that is if T[s+j]=P[j],for 1<=j<=m).  
        If P occurs with shift s in T,then we call s a valid shift;otherwise,we calls a invalid shift. 
        Your task is to calculate the number of vald shifts for the given text T and p attern P.
    输入:
       For each case, there are two strings T and P on a line,separated by a single space.You may assume both the length of T and P will not exceed 10^6. 
    输出:
        You should output a number on a separate line,which indicates the number of valid shifts for the given text T and pattern P.
    样例输入:
    abababab abab
    样例输出:

    3

    #include<stdio.h>
    #include<string.h>
    using namespace std;
    
    int main(){
        char a[100001],b[100001];
        while(scanf("%s %s",a,b)!=EOF){
            int num=0,i,j;
            int len1=strlen(a);
            int len2=strlen(b);
            for(i=0;i<=len1-len2;i++){
                int flag=1;
                for(int j=0;j<len2;j++){
                    if(a[i+j]!=b[j]) flag=0;
                }
                if(flag==1) num++;
            }
             printf("%d
    ",num);
        }
        return 0;
    }
  • 相关阅读:
    CodeForces 604D 【离散数学 置换群】
    CodeForces 604C 【思维水题】`
    CodeForces 602E【概率DP】【树状数组优化】
    CodeForces 602D 【单调队列】【简单数学】
    HDU 3535 【背包】
    CodeForces 593D【树链剖分】
    HYSBZ 1036 【树链剖分】
    POJ 2352 【树状数组】
    POJ 2182【树状数组】
    机器学习实战笔记-2-7分类机器学习形象化总结
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9736466.html
Copyright © 2011-2022 走看看