• NYOJ 5 Binary String Matching


    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 
    资料参考strstr函数:http://www.cplusplus.com/reference/cstring/strstr/(c语言版)
    <string>:find函数http://www.cplusplus.com/reference/string/string/find/(c++)
    代码参考:
     1  
     2 #include<iostream>
     3 #include<string>
     4 #include<algorithm>
     5  using namespace std;
     6  int main() {
     7  int n;
     8  cin >> n;
     9  while (n--) {
    10  int flag, s = 0;
    11  string ch, str;
    12  cin >> ch >> str;
    13  flag = str.find(ch, 0);
    14  while (flag != string::npos) {
    15         //The position of the first character of the first match.
    16         //If no matches were found, the function returns string::npos.
    17  s++;
    18  flag = str.find(ch, flag + 1);
    19  }
    20  cout << s << endl;
    21  }
    22  }
    23         
    View Code
  • 相关阅读:
    b_lc_数组的最大公因数排序(并查集+质因数分解优化)
    Coggle 30 Days of ML:结构化赛题:天池二手车交易价格预测(二)
    Coggle 30 Days of ML:结构化赛题:天池二手车交易价格预测(一)
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
  • 原文地址:https://www.cnblogs.com/luoshuihanbing/p/3288855.html
Copyright © 2020-2023  润新知