AOJ2340 Carpenters' Language
Carpenters' Language | Aizu Online Judge
問題概要
括弧列がvalidであるとは、文脈自由文法で以下のように定義される。
S -> SS | (S) | )S( | ε
あなたは最初、空の括弧列Sを持っている。
回のクエリが与えられる。 番目のクエリで が与えられるので、Sの 文字目に を 回挿入し、できた括弧列がvalidであるかを判定してください。
制約
番目のクエリの前の の長さ
は '(' または ')'
解法
よく考えると、'('の個数と')'の個数が同じだとvalidな括弧列になることがわかるので、オーバーフローを気にしながら'('の数と')'の数が等しいかをチェックすれば良いです。
ちなみにぼくはよく考えてもわかりませんでした。
AIZU ONLINE JUDGE: Code Review