X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=src%2Ftask8%2Ftask8-bounded.hs;fp=src%2Ftask8%2Ftask8-bounded.hs;h=9bef74e9dd6bd3975c5038c679521ec33b303c90;hb=35fd88f4adee89988e8433c825f88b58a9691466;hp=d9767860a3fdb806d89d39a1d30d287a92e6920c;hpb=5d838e5dedd61d0de89a0b2ea252a25f4bc6c61b;p=summerofcode2018soln.git diff --git a/src/task8/task8-bounded.hs b/src/task8/task8-bounded.hs index d976786..9bef74e 100644 --- a/src/task8/task8-bounded.hs +++ b/src/task8/task8-bounded.hs @@ -98,13 +98,14 @@ successors :: Int -> BoundedLawn -> Location -> (Q.Seq Neighbour) successors longCost boundedLawn (row, column) = Q.fromList $ map neighbourify neighbours where lawn = lawnMap boundedLawn neighbours = filter (\l -> l `M.member` lawn) - [(r, c) | r <- [(row - 1)..(row + 1)], - c <- [(column - 1)..(column + 1)], - r >= minR, - r <= maxR, - c >= minC, - c <= maxC, - ((r == row && c /= column) || (r /= row && c == column)) ] + [ (r, c) | r <- [(row - 1)..(row + 1)] + , c <- [(column - 1)..(column + 1)] + , r >= minR + , r <= maxR + , c >= minC + , c <= maxC + , ((r == row && c /= column) || (r /= row && c == column)) + ] neighbourify neighbour = Neighbour {stepLocation = neighbour, stepCost = scCalc neighbour} minR = minRow boundedLawn maxR = maxRow boundedLawn