#706思路:按规则如果前面k个与后k个相同并且有字符剩下,那么把前k个字符依次看成a1 a2.。。。ak;剩下的看成ak+1,这样就可以构建输出yes否则输出no#include<stdio.h>#include<string.h>char si[100]; int main(){ int t; scanf("%d",&t); while(t--) { int n,k; scanf("%d%d",&n,&k); scanf("%s",si); if(n>2*k) { int flag=0; for(int i=0,j=n-1;i<k;i++,j--) { if(si[i]==si[j]); else { flag=1; break; } } if(flag) { printf("NO\n"); } else printf("YES\n"); } else printf("NO\n"); } return 0; }