可以想到,只需要判断字符串左端(或右端)是否等于其左边(或右边)一个数
代码如下(示例):
#include<bits/stdc++.h>
using namespace std;
char s[1010],s1[1010];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n=0,q=0;
scanf("%d%d",&n,&q);
scanf("%s",s);
while(q--)
{
int l=0,r=0;
scanf("%d%d",&l,&r);
int flag=0,flag2=0;
for(int i=l-1;i>=0;i--)
{
if(s[l-1]==s[i-1])
{
flag=1;
break;
}
}
for(int i=r;i<n;i++)
{
if(s[r-1]==s[i])
{
flag2=1;
break;
}
}
if(flag==0&&flag2==0)
{
printf("NO\n");
}
else if(flag==1||flag2==1)
{
printf("YES\n");
}
}
}
return 0;
}