题目:传送门。
这是一道阅读理解题,正解是DP,实际上模拟就能做。pij+1 指的是 (pij)+1不是 pi(j+1),判断能否交换输出即可。
#include <iostream> #include <algorithm> #include <cstdio> #include<cstring> using namespace std; int t,n; char str1[100009],str2[5009]; char tmp[5009]; int main(){ // freopen("cin.txt","r",stdin); scanf("%d",&t); while(t--) { int str1len,str2len; memset(str1,0,sizeof(str1)); scanf("%d%d",&str1len,&str2len); scanf("%s%s",str1,str2); for(int i=0;i<str1len;i++) { bool flag=1; strcpy(tmp,str2); for(int j=i;j<i+str2len&&flag;j++) { if(str1[j]!=tmp[j-i]) { if(str1[j+1]==tmp[j-i]&&str1[j]==str2[j-i+1])j++; else flag=0; } } if(flag)printf("1"); else printf("0"); } puts(""); } return 0; }