//数据结构——栈 //先开一个数字然后标记号是couple的编号 //接着从1~2n一个个塞进栈中,同时调用couple数组进行检查,看是否能与栈顶元素合并 //如果能合并,就从栈顶中移除 //到最后如果栈顶为空,则说明能够全部移除 #include<iostream> #include<stack> #include<cstring> using namespace std; int couple[200010]; int main() { int n,l,r; while(scanf("%d",&n) && n) { memset(couple,-1,sizeof(couple)); stack<int> s; for(int i = 0;i < n;++i) { scanf("%d%d",&l,&r); couple[l] = r; couple[r] = l; } for(int i = 1;i <= 2*n;++i) { if(s.empty()) s.push(i); else if(couple[i] == s.top()) s.pop(); } if(s.empty()) printf("Yes/n"); else printf("No/n"); } return 0; }