Scalaの限定継続で四天王問題を解いてみた その2
ググってみるといろいろ派生問題が出来ているらしい(笑
悪ノリしてその中の1つ、人力検索に出ているやつを解いてみた。
http://q.hatena.ne.jp/1284217294
A「Dがやられたようだな…」B「ククク奴は四天王でも最弱…」C「私はBよりも強い」A「私は最強ではないが最弱でもない」B「私はAより強いぞ」C「四天王NO.3は嘘つき」A「私とCとの実力差は離れている」 問:四天王を強い順に並べよ。但し正直者は真実、嘘つきは嘘しか言わないものとする。(100ポイント)
今度は嘘つきが混じっているので、それも非決定性として組み込んで、各四天王が正直者だったときと嘘つきだったときをrequireで指定した。
結果はこう
List((a,1), (c,2), (d,3), (b,4)) Vector((a,false), (b,false), (c,true), (d,false))
C以外全員嘘つき(笑