题意:
给一个字符串,两名玩家可以选择连续的两个字符删除,删除中间的后,字符串会相连
如果第一名玩家无法删除,输出NO,反之输出YES
解析:
尽可能的多删除
删除的顺序不会影响可以删除的数目,
判断可以删除的数目,如果可以删除的数目为偶数,输出NO,奇数输出YES
用栈来处理比较方便
ac:
#include<bits/stdc++.h>
#define MAXN 100005
using namespace std;
char str[MAXN]={0};
stack<int> ck;
int main()
{
while(scanf("%s",&str)!=EOF)
{
int sum=0;
int len=strlen(str);
for(int i=0;i<len;i++)
{
if(ck.size()==0)
ck.push(str[i]);
else {
if(str[i]==ck.top())
{
sum++;
ck.pop();
}
else ck.push(str[i]);
}
}
if(sum%2==0)
printf("No\n");
else printf("Yes\n");
}
return 0;
}