表示看不太懂题目,但我是把成对的符号去掉,判断最后的结果即可 即++ --要去掉
最后list的size为0 即可以解开
size!=0 就是不可以解开
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#include <queue>
#include <list>
#include <vector>
using namespace std;
char tm[100000+5];
list <char> qq;
list<char>::iterator it,tmp,he,she;
int main()
{
scanf("%s",tm+1);
int len=strlen(tm+1);
int i;
for (i=1;i<=len;i++)
{
qq.push_back(tm[i]);
}
it=tmp=qq.begin();
it++;
for (;it!=qq.end()&&tmp!=qq.end();)
{
//cout<<*tmp<<" "<<*it<<endl;
if (*tmp==*it)
{
if (tmp!=qq.begin())
{
he=tmp;
he--;
she=it;
she++;
}
else
{
he=tmp;
he++;
he++;
she=it;
she++;
she++;
}
qq.erase(tmp);
qq.erase(it);
tmp=he;
it=she;
}
else
{
tmp++;
it++;
}
}
// cout<<qq.size()<<endl;
if (qq.size()!=0)
{
printf("No\n");
}
else
printf("Yes\n");
return 0;
}