http://codeforces.com/contest/344/problem/D

cf D. Alternating Current_编程cf D. Alternating Current_i++_02
 1 #include <cstdio>
 2 #include <cstring>
 3 #include <stack>
 4 #include <algorithm>
 5 using namespace std;
 6 
 7 char str[100001];
 8 int main()
 9 {
10     stack<char>q;
11     scanf("%s",str);
12     int k=strlen(str);
13     for(int i=0; i<k; i++)
14     {
15         if(q.empty())
16         {
17             q.push(str[i]);
18         }
19         else if(str[i]==q.top())
20         {
21             q.pop();
22         }
23         else if(str[i]!=q.top())
24         {
25             q.push(str[i]);
26         }
27     }
28     if(!q.empty()) printf("No\n");
29     else printf("Yes\n");
30     return 0;
31 }
View Code