LoginSignup
0
0

More than 3 years have passed since last update.

Alloyでパズル (11) かけっこのパズル

Last updated at Posted at 2020-03-11

Alloyでパズル(1) と変わらないようにしか見えない かけっこのパズル
でも書いている人が人だし、自分が何か見落としているのかもしれない。

問題

一郎、二郎、三郎の三人で駆けっこをして、その結果を次のように言っています。

一郎:「僕は一番じゃない」
二郎:「僕は一番だ」
三郎:「僕は二番だ」

三人のなかで一人だけウソをついています。それは誰でしょう?

リスト

普通のウソつきパズルだった。
何か自分的に新規要素をと思ってseqを使ってもみたが、順位が 0,1,2 になって読みづらいのでやめた。
sig Raceとか別建てしてみたがかえってややこしくなるだけだったのでやめた。

// かけっこのパズル
abstract sig Runner { ranking: disj (1+2+3) }
one sig Ichiro, Jiro, Saburo extends Runner {}
sig Lier in Runner {}
fact {
    one Lier
    Ichiro not in Lier <=> Ichiro.ranking!=1
    Jiro not in Lier <=> Jiro.ranking=1
    Saburo not in Lier <=> Saburo.ranking=2
}
run {}

結果的には、ルートシグネチャ1種類&enum不使用しばり くらいが牛と違うところか。
1ヶ月以上前に書いたものから何も進歩していないのが、なんか悔しい。

結果

かけっこ.png

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0