La Vie en rose (模拟)
#include<bits/stdc++.h> using namespace std; const int maxn = 5e3 + 7; const int maxm = 1e5 + 7; int T, n, m; char str1[maxm], str2[maxn]; int main(){ scanf("%d",&T); while(T --){ scanf("%d%d%s%s", &n, &m, str1, str2); for(int i = 0; i < n; i ++){ bool flag = true; int k = 0; for(int j = i; j < i + m && flag; j ++){ if(str1[j] == str2[k]) k ++; else if(str1[j] == str2[k + 1] && str1[j + 1] == str2[k]){ k += 2; j ++; }else flag = false; } printf("%c","01"[flag]); } printf("\n"); } return 0; }
more crazy more get!