题意:
给你一个01串,找出其中是否有子串是回文串。
题解:
做点简单的题目拓展一下思维,咳这绝对不是在水博客哦。
找出有没有回文串第一眼当然是想到马拉车,但是这道题目不必如此麻烦。
最简单暴力地方法当然是for一遍看看连续的两个或者三个是否为回文。
但是呢这道题的特殊性在于是01串,也就是说,当长度>=3的时候它一定有子串是回文串(显然)。长度=2的时候00,11为回文。
#include<bits/stdc++.h>
using namespace std;
const int N=105;
char s[N];
int main()
{
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d%s",&n,s);
if(n>=3)printf("no\n");
else if(n==2 && s[0]==s[1])printf("no\n");
else printf("yes\n");
}
return 0;
}