Module: 正しいブラケット シーケンス (RSP)


Problem

3 /6


ティルダオメガラムダ計算

Theory Click to read/hide

複数の種類のブラケットが存在する場合、すべてが少し複雑になります。そのバランス変数として機能するスタックを作成します。括弧は重複できないため、これが必要です。行を歩いていて開き括弧に遭遇すると、それをスタックにプッシュします。右中括弧に遭遇すると、そのタイプの左中括弧をスタックからポップしようとします。異なるタイプの中括弧がスタック上にある場合、シーケンスは無効になります。スタックが最後に空でない場合、シーケンスも無効になります。

Problem

Tilda-omega-lambda-calculus は、「British Scientists, Inc」のさらに革新的な開発です。関数型プログラミングの分野で。オメガラムダ計算との違いは、角括弧と中括弧を入れる機能のみです。象の形のブラケットも計画されましたが、同社は UNICODE 標準を変更できませんでした。
入力は、10^7 文字以内のチルダ-オメガ-ラムダ式です。チルダ-izzyリダクションの結果を出力する必要があります。これは、角括弧と中括弧を使用する点を除いて、オメガラムダ式のizzyリダクションと同じように機能します。

 izzy-reduction は、そのような式に対する演算の 1 つであることを思い出してください。実行されると、式中のブラケットシーケンスが正しいかどうかがチェックされます。条件は無視されます。シーケンスが正しい場合は gg タームになり、そうでない場合は wp タームになります。
 

 

<頭> <本体>
# 入力 出力
1 メイン{izzy[lol](ttt)} gg