[Binary String Matching]
首先计算A,B字符串的长度a_lenth,b_lenth,然后使用A字符串的首元素遍历B字符串的所有元素找出相同的元素;然后用j表示A字符串中的后几个元素i+j为B字符串与A字符串相同的元素开始,依次往后查找a_lenth-1的元素的坐标;
每次flag=true时count++,然后flag=false(*如果不让flag=false,会跳过循环再次count++);
最后得出结果输出.
#include<iostream>
#include<string.h>
using namespace std;
int main() {
int n = 0;
cin >> n;
while (n--) {
char a[10000];
char b[10000];
cin >> a;
cin >> b;
int a_lenth = strlen(a);
int b_lenth = strlen(b);
int count = 0;
bool flag = false;
for (int i = 0; i < b_lenth; i++) {
if (b[i] == a[0]) {
for (int j = 1; j < a_lenth; j++) {
if (b[i + j] == a[j]) {
if ((i + j) < b_lenth) {
flag = true;
continue;
}
}
else {
flag = false;
break;
}
}
}
if (flag == true) {
count++;
flag = false;
}
}
cout << count << endl;
}
return 0;
}