NY--5 -- Binary String Matching [水] [STL] [string类]

来源:互联网 发布:滨江淘宝摄影基地在哪 编辑:程序博客网 时间:2024/04/29 20:14

 

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

 

 

Code:

 

完全的水题,为了熟悉各种STL容器, 用一下~\(≧▽≦)/~啦啦啦

 

#include<stdio.h>#include<string>#include<iostream>using namespace std;int main(){string s1,s2;char ss[1005];int t,pos,cnt;scanf("%d",&t);while(t--){scanf("%s",ss);s1 = ss;scanf("%s",ss);s2 = ss;pos = cnt = 0;while(pos<(s2.length()-s1.length()+1)){int loc = s2.find(s1,pos);if(loc==string::npos) break;cnt++; pos=loc+1;}printf("%d\n",cnt);}return 0;} 
原创粉丝点击