1094.String matching

來源:互聯網
上載者:User

標籤:not   clu   rac   invalid   span   char   printf   eof   arc   

題目描述:
    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\n",num);    }    return 0;}

 

1094.String matching

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.