Simplify
authorUmmon <greg.burri@gmail.com>
Tue, 19 Dec 2017 09:12:47 +0000 (10:12 +0100)
committerUmmon <greg.burri@gmail.com>
Tue, 19 Dec 2017 09:12:47 +0000 (10:12 +0100)
AdventOfCode2017/Day19.fs

index 281bd64..04d98c8 100644 (file)
@@ -8,11 +8,11 @@ let followThePath (lines : string[]) : string * int =
         let c = lines.[i'].[j']
         if c = '+' then
             let nextDir =
-                [ '-', 0, 1; '|', -1, 0; '-', 0, -1; '|', 1, 0 ]
+                [ 0, 1; -1, 0; 0, -1; 1, 0 ]
                 |> List.pick (
-                    fun (c', ndi, ndj) ->
+                    fun (ndi, ndj) ->
                         let ni, nj = i' + ndi, j' + ndj
-                        if (ni, nj) <> (i, j) && (Char.IsLetter lines.[ni].[nj] || lines.[ni].[nj] = c') then Some (ndi, ndj) else None
+                        if (ni, nj) <> (i, j) && (Char.IsWhiteSpace lines.[ni].[nj] |> not) then Some (ndi, ndj) else None
                 )
             next (i', j') nextDir str (n + 1)
         elif Char.IsWhiteSpace c |> not then