#31773: c++參考答案


kesoner666@gmail.com (楊虛於)

學校 : 高雄市立新興高級中學
編號 : 189616
來源 : [163.14.5.28]
最後登入時間 :
2024-04-18 17:58:59
c123. 00514 - Rails -- UVa514 | From: [101.137.82.164] | 發表日期 : 2022-08-18 16:19

#include <iostream>
#include <stack>
using namespace std;
int main() {
    int n;
    while (cin >> n) {
        if (n == 0)break;
        for (;;) {
            int num[1001],t=0;
            stack<int>stk;
            cin >> num[0];
            if (num[0] == 0) {
                cout << "\n";
                break;
            }
            for (int i = 1; i < n; i++)cin >> num[i];
            for (int i = 1; i <= n; i++) {
                stk.push(i);
                while (true) {
                    if (!stk.empty() && stk.top() == num[t]) {
                        t++;
                        stk.pop();
                    }
                    else break;
                }
            }
            if (stk.empty())cout << "Yes\n";
            else cout << "No\n";
        }
    }
}

 
ZeroJudge Forum