/**********************************************************************************/ /* Problem: c123 "Rails" from ACM 514 */ /* Language: CPP (1077 Bytes) */ /* Result: AC(24ms, 416KB) judge by this@ZeroJudge */ /* Author: pcmslouis at 2013-04-29 16:00:49 */ /**********************************************************************************/ #include #include #include using namespace std; //先簡單寫 int main() { int N, check[1000]; while(scanf("%d", &N), N!=0) { int first; while(scanf("%d", &first), first!=0) { check[0] = first; for(int i=1; i mystack; //建立並清空stack int index = 0; //跑check int element = 1; //首個放入的數字 while(index < N && element <= N+1) { if(mystack.empty()) //絕對PUSH { mystack.push(element++); } else if(mystack.top()==check[index]) //比對符合則POP { mystack.pop(); index++; //往下檢查 } else //無法POP則PUSH { mystack.push(element++); } } if(mystack.empty()) //完全檢查 puts("Yes"); else puts("No"); } puts(""); } return 0; }