Problem 79
http://projecteuler.net/index.php?section=problems&id=79
とりあえず、最短なので、各数字は高々一回しか現れないと勝手に解釈。
あとはそのまま。
import Data.Char import Data.List import Control.Monad import Data.Graph p079 xs =flip intersect use .topSort.buildG (0,9).concatMap mke $xs where mke (a:b:c:_) = [(a,b),(b,c)] use =nub.concat$xs main = liftM((+0).read.map intToDigit.p079.map (map digitToInt).lines) .readFile$"keylog.txt"
Graphを使ってみた。