您的位置:首页 > 编程语言 > C语言/C++

Nswoj每日一题:Binary String Matching

2017-11-17 10:11 295 查看

[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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++