https://codeforces.com/problemset/problem/343/B
题意:给定两根线,告诉你每个节点的两根线的上下位置,问两根线能否无损解开
思路:如果连续的一段一个都在另一个上面或者下面,那么这一段就可以回到他本身的位置。根据这个思路,可以将问题转化为消消乐问题,只要有连续的相等的字符就可以消,最后看消没消完即可。
inline void solve() {string s;cin >> s;int n = (int)s.size();stack<char> stk;for (int i = 0; i < n; ++i) {if (!stk.empty() && s[i] == stk.top()) {stk.pop();}else {stk.push(s[i]);}}cout << (stk.empty() ? "Yes" : "No") << '\n';
}