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以外全員嘘つき(笑