【AOJ 2340】Carpenters' Language
問題
Carpenters' Language | Aizu Online Judge
方針
- 文法を見てみると, 実は挿入位置は関係なくてかっこの個数だけで判定できることが分かる.
- 左括弧, 右括弧それぞれの個数を保持しておき, 同じの時はYes, そうでないときはNoを出力する.
コード
#include<iostream> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n ; i++) using namespace std; typedef long long ll; signed main(){ int q; ll p, n; char c; ll open, close; open = close = 0; cin >> q; rep(i, q){ cin >> p >> c >> n; if(c == '('){ open += n; }else{ close += n; } if(open == close) cout << "Yes" << endl; else cout << "No" << endl; } }