Bracketeer™という、古くからありながら強力なメインフレーム用のソフトウェアを書く機会が与えられました。 その上で動くソフトウェアは、独自の言語で書かれています。 構文の多くは見慣れたものですが、角括弧、波括弧、丸括弧が_たくさん_あることに気づきます。 Bracketeer™は強力ですが、柔軟性に欠けています。 ソースコードの中に、対応の取れていない角括弧、波括弧、丸括弧が1つでもあると、Bracketeer™はクラッシュし、再起動しなければなりません。 そうならないために、Bracketeer™で実行する前に、角括弧、波括弧、丸括弧の対応が取れているかを確認するコードを書き始めます。
角括弧([])、波括弧({})、丸括弧(())、またはこれらの組み合わせを含む文字列が与えられます。
すべてのペアが正しく対応し、入れ子になっていることを確認してください。
それ以外の文字は無視します。
たとえば、"{what is (42)}?"はバランスが取れていますが、"[text}"はバランスが取れていません。
| レジスタ | 用途 | 型 | 説明 |
|---|---|---|---|
$a0 |
入力 | アドレス | null終端された入力文字列 |
$v0 |
出力 | 真偽値 | 入力の括弧が対応しているかどうか(0はfalse、1はtrue) |
$t0-9 |
一時 | 任意 | 一時的な保存に使われます |