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 
来源
网络
上传者
naonao

kmp  裸题;

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
char a[15], b[1010]; int p[1010], lena, lenb, ans;
void Getp()
{int  i = 0, j = -1;p[i] = j;while(i != lena){if(j == -1 || a[i] == a[j]){i++, j++;p[i] = j; } elsej = p[j];}
}
void Kmp()
{Getp();int i = 0, j = 0;while(i != lenb){if(j == -1 || b[i] == a[j])    i++, j++;else j = p[j];if(j == lena)ans++; }  printf("%d\n", ans);
}
int main()
{int t;scanf("%d", &t);while(t--){ans = 0;scanf("%s%s", a, b);lena = strlen(a);lenb = strlen(b);Kmp();}return 0;
}

暴力: 竟然也是 0 ms;

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
char a[15], b[1010]; int lena, lenb;
int main()
{int t;scanf("%d", &t);while(t--){int i, j, sum = 0;scanf("%s %s", a, b);int lena = strlen(a), lenb = strlen(b);for(i = 0; i <= lenb - lena; i++){if(b[i] == a[0]){for(j = 1; j < lena; j++)if(b[i+j] != a[j])break;if(j == lena)sum++;} }printf("%d\n", sum);} return 0;
} 

转载于:https://www.cnblogs.com/soTired/p/4749391.html

南阳5--Binary String Matching(Kmp)相关推荐

  1. nyoj 题目5 Binary String Matching

    Binary String Matching 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 Given two strings A and B, whose alpha ...

  2. Binary String Matching

    Binary String Matching 描述 Given two strings A and B, whose alphabet consist only '0' and '1'. Your t ...

  3. NYOJ Binary String Matching的stl解法 酒馆浪人的博客

    Binary String Matching 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 Given two strings A and B, whose al ...

  4. Binary String Matching(C++)

    题目描述: Given two strings A and B, whose alphabet consist only '0' and '1'. Your task is only to tell ...

  5. string matching(HDU-6629)

    Problem Description String matching is a common type of problem in computer science. One string matc ...

  6. String Matching 字符串匹配算法——干货从头放到尾

    需要的先验知识:动态规划,有限状态机,搜索算法(就是含有state,action和policy)的模型,java.上面这些不需要知道很细,大概懂这些都是啥就可以读懂本文. 写这篇技术博客的动机是因为做 ...

  7. KY91 String Matching

    KY91 String Matching 版本一:暴力解法 "版本一:暴力解法"import sys for line in sys.stdin:line = line.strip ...

  8. Binary String Reconstruction CodeForces - 1352F(思维+构造)

    For some binary string s (i.e. each character si is either '0' or '1'), all pairs of consecutive (ad ...

  9. Binary String Minimizing CodeForces - 1256D(贪心)

    You are given a binary string of length n (i. e. a string consisting of n characters '0' and '1'). I ...

最新文章

  1. Java虚拟机规范(目录)
  2. SVN中trunk、branch、tag区别
  3. BZOJ3998:[TJOI2015]弦论——题解
  4. 美团推出语音应用平台 已与奔驰、小米等企业达成合作
  5. Oracle数据库常用sql语句
  6. FreeCAD-中文设置
  7. 为老电脑装linux系统
  8. Python环境安装 官网下载 / 迅雷下载
  9. TNS-12555报错的解决方案
  10. java毕业设计开题报告jsp企业电子投票系统|问卷
  11. ROC曲线,AUC面积
  12. 唯冠和苹果的官司打得热闹
  13. c程序语言中long,C语言long
  14. 【Java】检查二叉树是否平衡。
  15. 电影-《满城尽带黄金甲》
  16. html js 修改img 图片不拉伸,Javascript防止图片拉伸的自适应处理方法
  17. 【减肥】个人科学减肥大致原理记录
  18. 【新】Notion基础教程(持续更新中……)
  19. 新大陆C/C++开发实习生面试
  20. Rest架构风格详解

热门文章

  1. 图像降噪算法——稀疏表达:K-SVD算法
  2. 【AutoML】如何使用强化学习进行模型剪枝?
  3. 全球及中国潜水压力传感器行业运行态势及发展战略研究报告2022-2027年
  4. Windows 2008-IIS 7.0-SSL操作大全
  5. s5720找mac 华为交换机_【基础】交换机堆叠模式
  6. 济南长清区谋定特色展销中心 对话中国农民丰收节交易会
  7. JS实现2,8,10,16进制的相互转换
  8. VUE初长成【部分小记】
  9. JavaScript 原型链学习(二)原型的动态性
  10. 汉诺塔的实现 c++