描述
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
#include<cstdio>
#include<cstring>
#include<stack>
char str_o[15], str_t[1005];
int main()
{
int T;
scanf ("%d", &T);
while (T --)
{
// stack<char> s;
scanf ("%s %s", str_o, str_t);
// s.push(str_t);
int len_o = strlen(str_o), len_t = strlen(str_t), sum = 0;
for (int i = 0, ans = 0; i <= len_t - len_o; i ++)
{
bool flag = true;
ans = i;
for (int j = 0; j < len_o; j ++)
{
if(str_o[j] != str_t[ans ++])
{
// i ++;
flag = false;
break;
}
}
if(flag)
{
sum ++;
// i ++;
}
}
printf("%d\n", sum);
}
return 0;
}