13
三項演算子の式を評価する
アルファベット上文法を考える{ 0、 1、 ?、 :}によって定義されるプロダクションルール S→ 0┃ 1┃ 0 ?秒:秒┃ 1 ?秒:秒 sから生成された文字列が与えられると、それを?:右結合式(たとえば、a?B?X:Y:c?d:e?f:gmeans a?(B?X:Y):(c?d:(e?f:g)))の式として解析し、次のセマンティクスで評価します。 eval(0) = 0 eval(1) = 1 eval(0?a:b) = eval(b) eval(1?a:b) = eval(a) 結果が0の場合、固定値を出力します。出力が1の場合、異なる固定値を出力します。回答で選択した出力値(0/ / 1またはFalse/ True)を指定します。 テストケース 0 -> 0 1 -> 1 0?0:1 -> 1 0?1:0 -> 0 1?0:1 -> 0 1?1:0 -> 1 0?1?0:1:1 …