题目描述
给定一个奇数长度的、只由小写字母构成的字符串𝑠。
只要字符串的长度大于1,我们就能删除字符串中两个相邻的字符。比如字符串lemma
,可以通过一次删除操作变成mma
、lma
、lea
或者lem
。
可以发现,一次删除操作会使得字符串的长度减2。
给定一个字符变量𝑐,请问,通过删除操作使得字符串长度变成1之后,最后剩的这一个字符是否有可能和字符变量𝑐相同的?
输入描述
第一行一个正整数𝑇,表示有𝑇组输入。
对于每组输入,第一行一个字符串𝑠,𝑠的长度是奇数,并且长度最小是1,最大是49。
第二行一个字符变量𝑐的值,只会是26个小写字母之一。
输出描述
对于每组输入每组输入,输出一行一个字符串,如果最后剩的字符和字符变量𝑐相同,输出YES
,否则输出NO
。
样例输入
5
abcde
c
abcde
b
x
y
aaaaaaaaaaaaaaa
a
contest
t
样例输出
YES
NO
NO
YES
YES
AC代码
#include<bits/stdc++.h>
using namespace std;
int t;
string s,c;
int main(){
int t;
cin>>t;
while(t--){
cin>>s>>c;
int len=s.size(),f=0;
for(int i=0;i<=len;i++){
if(s[i]==c[0]&&i%2==0){
cout<<"YES"<<"\n";
f=1;
break;
}
}
if(!f) cout<<"NO"<<"\n";
}
return 0;
}