The Balance of the World

時間制限 : 8 sec, メモリ制限 : 65536 KB
英語版はこちら

世界の天秤

世界は絶妙なバランスの上に成り立っている.正と負,光と影,そして左括弧と 右括弧.君には,世界の天秤を監視するために,与えられた文字列の中で括弧が バランスしているかどうかを判定するプログラムを作ってほしい.

与えられる文字列は,丸括弧(“( )”)と角括弧(“[ ]”)の二種類の括弧を含むことがある. 文字列の中で括弧がバランスしているとは,以下が成り立つことである.

  • すべての左丸括弧(“(”)には,対応する右丸括弧(“)”)がそれより後にある.
  • すべての左角括弧(“[”)には,対応する右角括弧(“]”)がそれより後にある.
  • すべての右括弧には,対応する左括弧がある.
  • 括弧の対応は一対一でなくてはならず,単一の括弧が複数の括弧と対応す ることはない.
  • すべての対応する左括弧と右括弧の組について,その間にある文字列の中で 括弧がバランスしている.

Input

入力は一行または複数の行で構成され,各行は一つのデータセットである. データセットは英文アルファベット,空白,丸括弧(“( )”)と 角括弧(“[ ]”)の二種類の括弧の列で,最後にピリオドがある文字列である. 一行の文字数は100文字以下と仮定してよい. 入力の終わりはピリオドだけからなる行で示されており, この行はデータセットではない.

Output

各データセットについて,括弧がバランスしていれば“yes”を, そうでなければ“no”をそれぞれ1行に出力しなさい. 出力には余分な文字を含んではならない.

Sample Input

So when I die (the [first] I will see in (heaven) is a score list).
[ first in ] ( first out ).
Half Moon tonight (At least it is better than no Moon at all].
A rope may form )( a trail in a maze.
Help( I[m being held prisoner in a fortune cookie factory)].
([ (([( [ ] ) ( ) (( ))] )) ]).
 .
.

Output for the Sample Input

yes
yes
no
no
no
yes
yes

Source: ACM International Collegiate Programming Contest , Japan Domestic Contest, Tokyo, Japan, 2011-06-24
http://icpc2011.ait.kyushu-u.ac.jp/