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

Binary String Matching

时间:2014-09-18 11:34:53      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:数据结构   算法   模式匹配   

Binary String Matching

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述

Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear as a substring of B? For 

example, the text string B is ‘1001110110’ while the pattern string A is ‘11’, you should output 3, because the pattern A appeared at the posit

输入

The first line consist only one integer N, indicates N cases follows. In each case, there are two lines, the first line gives the string A, length (A) <= 10, and 

the second line gives the string B, length (B) <= 1000. And it is guaranteed that B is always longer than A.

输出

For each case, output a single line consist a single integer, tells how many times do B appears as a substring of A.
样例输入
3
11
1001110110
101
110010010010001
1010
110100010101011 
样例输出
3
0
3 
源代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char s[1000],t[10];
void index(char t[10],char s[1000])//基于数据结构模式匹配BP算法
{
  int i=0,j=0;
  int count=0;
  while(i<strlen(s))
  {
    if(s[i] == t[j]) 
    {
      i++;
      j++;               
    }
    else
    {
      i=i-j+1;
      j=0;
    }
    if(j>=strlen(t))
    {
      
      count++; 
      i=i-j+1; 
      j=0;     
    }                
  }
  printf("%d\n",count);
}
int main()
{
  int n;
  scanf("%d",&n);
 // getchar();
  while(n--)
  {
    scanf("%s%s",t,s);  
    index(t,s);        
  }
  system("pause");
  return 0;    
}

Binary String Matching

标签:数据结构   算法   模式匹配   

原文地址:http://blog.csdn.net/zchlww/article/details/39368459

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