博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nyoj 5 Binary String Matching(string)
阅读量:5105 次
发布时间:2019-06-13

本文共 2010 字,大约阅读时间需要 6 分钟。

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.
样例输入
31110011101101011100100100100011010110100010101011
样例输出
303
1 #include 
2 #include
3 #include
4 using namespace std; 5 int main(){ 6 int test, j, i; 7 string a, b; 8 int n; 9 cin >> test;10 while(test--){11 n = 0;12 cin >> a >> b;13 int len_a = a.length(), len_b = b.length();14 for(i = 0; i < len_b; i++){15 int k = i;16 for(j = 0; j < len_a; k++,j++){17 if(b[k] != a[j])18 break;19 }20 if(j == len_a)21 n++;22 }23 cout << n << endl;24 }25 return 0;26 }

上面是直接遍历。

以下代码利用find()函数

1 #include 
2 #include
3 using namespace std; 4 5 int main(){ 6 int t; 7 string a, b; 8 cin >> t; 9 10 while(t--){11 cin >> a >> b;12 int n = 0;13 int index = b.find(a, 0);//返回从0开始找到子串在串中的位置下标14 while(index != b.npos){
//npos表示不存在15 n++;16 index = b.find(a, index + 1);17 }18 cout << n << endl;19 }20 21 return 0;22 }

 

 

转载于:https://www.cnblogs.com/qinduanyinghua/p/6392681.html

你可能感兴趣的文章
《入门经典》——8.4
查看>>
《University Calculus》-chape4-导数的应用-微分中值定理
查看>>
创业者的思维误区---《精益创业》
查看>>
Web app 的性能瓶颈与性能调优方法
查看>>
经纬度计算是否在圆形内,是否在矩形内,是否在多边形内方法
查看>>
python3.x 和 python2.x关于 urllib的用法
查看>>
网站搭建(二)
查看>>
VS2010插件
查看>>
[转]win7下修改C盘USERS文件下的名称
查看>>
HowTo:freeswitch在多网卡服务器下如何配置
查看>>
C语言中隐藏结构体定义的方法
查看>>
“父窗口拖动的时候Popup不随着父窗口移动”问题的解决方案
查看>>
Android源码:(一) 安卓2.1到4.4操作系统通用的Actionbar实现的tab导航例子。
查看>>
Ubuntu 下安装 CCNx0.8.2
查看>>
UVA-227 Puzzle(模拟)
查看>>
基于ruby的watir自动化测试 笔记一
查看>>
FTP服务器FileZilla Server配置及使用方法
查看>>
python radix算法实现
查看>>
globals和locals的区别
查看>>
delphi 动态数组
查看>>