1012
题解:官方题解说要dp 效率为O(n * m) 感觉暴力也是O(n * m) 用暴力也就过了
#include <iostream>
#include <cstring>
using namespace std;
const int maxn = 1e5 + 10;
int ans[maxn];
int main()
{
int t;
scanf("%d", &t);
char ss[100005];
char as[5005];
while(t--)
{
int n ,m;
scanf("%d%d", &n, &m);
scanf("%s%s", ss, as);
memset(ans, 0, sizeof ans);
for(int i = 0; i < n; i++){
int j = 0;
for(int k = i; j < m && k < n;){
if(ss[k] == as[j])
k++,j++;
else if(ss[k] == as[j + 1] && ss[k + 1] == as[j])
k += 2, j += 2;
else
break;
}
if(j == m)
ans[i] = 1;
}
for(int i = 0; i < n; i++)
if(ans[i])
printf("1");
else
printf("0");
printf("\n");
}
return 0;
}