История изменений
Исправление qnikst, (текущая версия) :
это что-то вроде
first revert . head . filter (atExit) $ go lab empty initial
where
go _ _ [] = error "no exit"
go lab prev (z@(x,hist):zs) =
let z' = next x
& filter (canEnter lab)
& filter (`S.notElem` prev)
& map (\y -> (y, t:hist))
in z:go lab (prev `S.union` (fromList z')) (zs++z')
where canEnter = {- put your implementation here -} undefined
next = {- put your implementation here -} undefined
только непонятно, что за агенты, какие агенты, кому они нужны...
Исходная версия qnikst, :
это что-то вроде
first revert . head . filter (atExit) $ go lab empty initial
where
go _ _ [] = error "no exit"
go lab prev (z@(x,hist):zs) =
let z' = next x
& filter (canEnter lab)
& filter (`S.notElem` prev)
& map (\y -> (y, t:hist))
in z:go lab (prev `S.union` (fromList z')) (zs++z')
where canEnter = {- put your implementation here -} undefined
next = {- put your implementation here -} undefined
только непонятно, что за агенты, какие агенты, кому они нужны...