Day 10.
This commit is contained in:
parent
7fe5f45a60
commit
9f6aa1dc69
|
@ -16,7 +16,7 @@ To arrive at [⟨ortho|normal⟩](https://hilb.ert.space) as December comes.
|
||||||
| 06 | ~ 3 |
|
| 06 | ~ 3 |
|
||||||
| 07 | ~ 1 |
|
| 07 | ~ 1 |
|
||||||
| 08 | ~ 6.5 |
|
| 08 | ~ 6.5 |
|
||||||
| 09 | |
|
| 09 | ~ 7 |
|
||||||
| 10 | |
|
| 10 | |
|
||||||
| 11 | |
|
| 11 | |
|
||||||
| 12 | |
|
| 12 | |
|
||||||
|
|
|
@ -30,4 +30,4 @@ import qualified Day24
|
||||||
import qualified Day25
|
import qualified Day25
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = Day09.main
|
main = Day10.main
|
||||||
|
|
|
@ -0,0 +1,328 @@
|
||||||
|
position=< 42772, -21149> velocity=<-4, 2>
|
||||||
|
position=< 42804, -31790> velocity=<-4, 3>
|
||||||
|
position=<-10445, -10502> velocity=< 1, 1>
|
||||||
|
position=<-31749, 21438> velocity=< 3, -2>
|
||||||
|
position=<-31722, 32074> velocity=< 3, -3>
|
||||||
|
position=< 53436, -21147> velocity=<-5, 2>
|
||||||
|
position=<-42336, -42437> velocity=< 4, 4>
|
||||||
|
position=<-42380, 21435> velocity=< 4, -2>
|
||||||
|
position=< 21508, -10506> velocity=<-2, 1>
|
||||||
|
position=<-31727, 42725> velocity=< 3, -4>
|
||||||
|
position=<-42383, 32083> velocity=< 4, -3>
|
||||||
|
position=< 42764, 21438> velocity=<-4, -2>
|
||||||
|
position=<-53037, -53086> velocity=< 5, 5>
|
||||||
|
position=< 53436, -10506> velocity=<-5, 1>
|
||||||
|
position=<-10445, 32083> velocity=< 1, -3>
|
||||||
|
position=<-53001, -53081> velocity=< 5, 5>
|
||||||
|
position=<-31724, -21151> velocity=< 3, 2>
|
||||||
|
position=<-21106, 42720> velocity=< 2, -4>
|
||||||
|
position=< 10847, -53083> velocity=<-1, 5>
|
||||||
|
position=< 21483, -21147> velocity=<-2, 2>
|
||||||
|
position=< 53433, -21146> velocity=<-5, 2>
|
||||||
|
position=< 32121, 42719> velocity=<-3, -4>
|
||||||
|
position=< 10834, 53364> velocity=<-1, -5>
|
||||||
|
position=<-31708, -42434> velocity=< 3, 4>
|
||||||
|
position=<-21057, -10497> velocity=< 2, 1>
|
||||||
|
position=<-42372, -53082> velocity=< 4, 5>
|
||||||
|
position=< 32143, -10502> velocity=<-3, 1>
|
||||||
|
position=<-31751, -53078> velocity=< 3, 5>
|
||||||
|
position=<-21069, 42720> velocity=< 2, -4>
|
||||||
|
position=<-21049, -42432> velocity=< 2, 4>
|
||||||
|
position=<-42376, 42727> velocity=< 4, -4>
|
||||||
|
position=< 42790, -21151> velocity=<-4, 2>
|
||||||
|
position=< 10849, 32082> velocity=<-1, -3>
|
||||||
|
position=<-31724, -21142> velocity=< 3, 2>
|
||||||
|
position=< 32159, -10498> velocity=<-3, 1>
|
||||||
|
position=< 32180, -21151> velocity=<-3, 2>
|
||||||
|
position=< 21491, 53368> velocity=<-2, -5>
|
||||||
|
position=< 32162, -21149> velocity=<-3, 2>
|
||||||
|
position=< 21482, -10505> velocity=<-2, 1>
|
||||||
|
position=<-52981, -53079> velocity=< 5, 5>
|
||||||
|
position=< 42796, 32079> velocity=<-4, -3>
|
||||||
|
position=<-21066, 42720> velocity=< 2, -4>
|
||||||
|
position=< 10862, 32083> velocity=<-1, -3>
|
||||||
|
position=< 21474, -53083> velocity=<-2, 5>
|
||||||
|
position=<-10434, -10497> velocity=< 1, 1>
|
||||||
|
position=<-21054, 53364> velocity=< 2, -5>
|
||||||
|
position=< 21534, 42723> velocity=<-2, -4>
|
||||||
|
position=< 10861, -21147> velocity=<-1, 2>
|
||||||
|
position=< 10857, -10502> velocity=<-1, 1>
|
||||||
|
position=< 53461, 32079> velocity=<-5, -3>
|
||||||
|
position=< 32132, -10505> velocity=<-3, 1>
|
||||||
|
position=<-42362, -21142> velocity=< 4, 2>
|
||||||
|
position=<-42396, 32074> velocity=< 4, -3>
|
||||||
|
position=< 53469, -21151> velocity=<-5, 2>
|
||||||
|
position=<-21098, 42723> velocity=< 2, -4>
|
||||||
|
position=<-42378, 32080> velocity=< 4, -3>
|
||||||
|
position=<-21074, 42726> velocity=< 2, -4>
|
||||||
|
position=< 10881, -10500> velocity=<-1, 1>
|
||||||
|
position=< 21514, 53367> velocity=<-2, -5>
|
||||||
|
position=< 42764, -53080> velocity=<-4, 5>
|
||||||
|
position=< 32151, 53368> velocity=<-3, -5>
|
||||||
|
position=<-21090, 21437> velocity=< 2, -2>
|
||||||
|
position=< 10877, -53078> velocity=<-1, 5>
|
||||||
|
position=<-10445, -31796> velocity=< 1, 3>
|
||||||
|
position=< 42796, 42722> velocity=<-4, -4>
|
||||||
|
position=<-31740, -21147> velocity=< 3, 2>
|
||||||
|
position=<-42344, -53083> velocity=< 4, 5>
|
||||||
|
position=<-21087, -31794> velocity=< 2, 3>
|
||||||
|
position=<-31691, 32082> velocity=< 3, -3>
|
||||||
|
position=< 21490, -31790> velocity=<-2, 3>
|
||||||
|
position=< 42792, -10506> velocity=<-4, 1>
|
||||||
|
position=< 53462, 32074> velocity=<-5, -3>
|
||||||
|
position=<-53025, 53366> velocity=< 5, -5>
|
||||||
|
position=<-31722, 21438> velocity=< 3, -2>
|
||||||
|
position=< 53469, 10786> velocity=<-5, -1>
|
||||||
|
position=< 10841, 32081> velocity=<-1, -3>
|
||||||
|
position=< 53449, 21431> velocity=<-5, -2>
|
||||||
|
position=<-21074, -10501> velocity=< 2, 1>
|
||||||
|
position=< 21487, -53084> velocity=<-2, 5>
|
||||||
|
position=<-53015, -53082> velocity=< 5, 5>
|
||||||
|
position=< 42777, -31787> velocity=<-4, 3>
|
||||||
|
position=< 42764, -10502> velocity=<-4, 1>
|
||||||
|
position=< 53422, 10787> velocity=<-5, -1>
|
||||||
|
position=< 42772, -10503> velocity=<-4, 1>
|
||||||
|
position=< 53465, 32081> velocity=<-5, -3>
|
||||||
|
position=<-10421, 10793> velocity=< 1, -1>
|
||||||
|
position=< 42815, -42432> velocity=<-4, 4>
|
||||||
|
position=<-21106, -53079> velocity=< 2, 5>
|
||||||
|
position=<-53033, 53369> velocity=< 5, -5>
|
||||||
|
position=< 42766, 53368> velocity=<-4, -5>
|
||||||
|
position=< 42767, -21151> velocity=<-4, 2>
|
||||||
|
position=< 21526, -31789> velocity=<-2, 3>
|
||||||
|
position=<-21082, -21148> velocity=< 2, 2>
|
||||||
|
position=< 53410, -21147> velocity=<-5, 2>
|
||||||
|
position=<-31691, -10500> velocity=< 3, 1>
|
||||||
|
position=< 42805, 32078> velocity=<-4, -3>
|
||||||
|
position=<-42378, -31790> velocity=< 4, 3>
|
||||||
|
position=<-21050, -21143> velocity=< 2, 2>
|
||||||
|
position=<-21106, -42436> velocity=< 2, 4>
|
||||||
|
position=<-53001, 53365> velocity=< 5, -5>
|
||||||
|
position=< 53469, -21145> velocity=<-5, 2>
|
||||||
|
position=< 10833, -31796> velocity=<-1, 3>
|
||||||
|
position=<-53009, -10498> velocity=< 5, 1>
|
||||||
|
position=< 32159, -31789> velocity=<-3, 3>
|
||||||
|
position=<-53007, -53077> velocity=< 5, 5>
|
||||||
|
position=< 21474, -21149> velocity=<-2, 2>
|
||||||
|
position=< 53427, -53083> velocity=<-5, 5>
|
||||||
|
position=< 10861, 42720> velocity=<-1, -4>
|
||||||
|
position=<-53017, 10786> velocity=< 5, -1>
|
||||||
|
position=<-42335, -42441> velocity=< 4, 4>
|
||||||
|
position=<-31751, -42432> velocity=< 3, 4>
|
||||||
|
position=< 32171, 21429> velocity=<-3, -2>
|
||||||
|
position=<-53016, -53086> velocity=< 5, 5>
|
||||||
|
position=< 21522, 21436> velocity=<-2, -2>
|
||||||
|
position=<-53009, -53079> velocity=< 5, 5>
|
||||||
|
position=< 53433, 42721> velocity=<-5, -4>
|
||||||
|
position=< 53420, -42441> velocity=<-5, 4>
|
||||||
|
position=< 42777, -10504> velocity=<-4, 1>
|
||||||
|
position=<-10416, 32074> velocity=< 1, -3>
|
||||||
|
position=<-42396, 10788> velocity=< 4, -1>
|
||||||
|
position=< 21490, 10791> velocity=<-2, -1>
|
||||||
|
position=< 32128, -21147> velocity=<-3, 2>
|
||||||
|
position=< 53461, -21143> velocity=<-5, 2>
|
||||||
|
position=<-21063, -21149> velocity=< 2, 2>
|
||||||
|
position=<-31743, -31792> velocity=< 3, 3>
|
||||||
|
position=< 21514, 21432> velocity=<-2, -2>
|
||||||
|
position=< 10861, 10791> velocity=<-1, -1>
|
||||||
|
position=< 10881, -31792> velocity=<-1, 3>
|
||||||
|
position=< 10889, -31795> velocity=<-1, 3>
|
||||||
|
position=< 32143, -21145> velocity=<-3, 2>
|
||||||
|
position=<-21093, -42439> velocity=< 2, 4>
|
||||||
|
position=<-10450, 21433> velocity=< 1, -2>
|
||||||
|
position=<-31719, 21430> velocity=< 3, -2>
|
||||||
|
position=< 10865, 53373> velocity=<-1, -5>
|
||||||
|
position=<-10405, -21144> velocity=< 1, 2>
|
||||||
|
position=< 21534, -42433> velocity=<-2, 4>
|
||||||
|
position=<-31727, -53083> velocity=< 3, 5>
|
||||||
|
position=<-53021, 21437> velocity=< 5, -2>
|
||||||
|
position=< 53449, -42434> velocity=<-5, 4>
|
||||||
|
position=<-21046, 10789> velocity=< 2, -1>
|
||||||
|
position=< 21518, 32082> velocity=<-2, -3>
|
||||||
|
position=<-31727, -10506> velocity=< 3, 1>
|
||||||
|
position=<-53033, 10793> velocity=< 5, -1>
|
||||||
|
position=< 10842, -10498> velocity=<-1, 1>
|
||||||
|
position=< 53425, 32075> velocity=<-5, -3>
|
||||||
|
position=<-53004, 32082> velocity=< 5, -3>
|
||||||
|
position=<-53016, -53082> velocity=< 5, 5>
|
||||||
|
position=<-21098, 21435> velocity=< 2, -2>
|
||||||
|
position=<-10417, 42720> velocity=< 1, -4>
|
||||||
|
position=<-42363, 21429> velocity=< 4, -2>
|
||||||
|
position=< 32151, 10790> velocity=<-3, -1>
|
||||||
|
position=<-53025, 21431> velocity=< 5, -2>
|
||||||
|
position=<-10437, -42435> velocity=< 1, 4>
|
||||||
|
position=<-31735, -10502> velocity=< 3, 1>
|
||||||
|
position=<-21098, -21149> velocity=< 2, 2>
|
||||||
|
position=< 10830, 10784> velocity=<-1, -1>
|
||||||
|
position=< 10838, -21151> velocity=<-1, 2>
|
||||||
|
position=<-21085, -21142> velocity=< 2, 2>
|
||||||
|
position=< 32119, -53079> velocity=<-3, 5>
|
||||||
|
position=<-31700, 21438> velocity=< 3, -2>
|
||||||
|
position=<-31714, -31795> velocity=< 3, 3>
|
||||||
|
position=< 32135, -10504> velocity=<-3, 1>
|
||||||
|
position=< 10889, -21149> velocity=<-1, 2>
|
||||||
|
position=<-31742, -53086> velocity=< 3, 5>
|
||||||
|
position=<-31726, -42432> velocity=< 3, 4>
|
||||||
|
position=<-31727, -53079> velocity=< 3, 5>
|
||||||
|
position=<-42369, -31792> velocity=< 4, 3>
|
||||||
|
position=< 10830, -42437> velocity=<-1, 4>
|
||||||
|
position=< 32179, 42725> velocity=<-3, -4>
|
||||||
|
position=< 21483, -31796> velocity=<-2, 3>
|
||||||
|
position=< 53435, 32074> velocity=<-5, -3>
|
||||||
|
position=< 32132, -31788> velocity=<-3, 3>
|
||||||
|
position=< 53449, 10787> velocity=<-5, -1>
|
||||||
|
position=<-21066, -42439> velocity=< 2, 4>
|
||||||
|
position=<-21065, 10789> velocity=< 2, -1>
|
||||||
|
position=<-31693, -31787> velocity=< 3, 3>
|
||||||
|
position=<-42380, 42727> velocity=< 4, -4>
|
||||||
|
position=< 42788, 10785> velocity=<-4, -1>
|
||||||
|
position=<-21054, -21150> velocity=< 2, 2>
|
||||||
|
position=< 42772, -42434> velocity=<-4, 4>
|
||||||
|
position=<-31722, 42719> velocity=< 3, -4>
|
||||||
|
position=< 10837, -31794> velocity=<-1, 3>
|
||||||
|
position=< 21498, -42436> velocity=<-2, 4>
|
||||||
|
position=< 42797, 10793> velocity=<-4, -1>
|
||||||
|
position=<-42372, 42724> velocity=< 4, -4>
|
||||||
|
position=< 32171, 10787> velocity=<-3, -1>
|
||||||
|
position=<-21085, -42441> velocity=< 2, 4>
|
||||||
|
position=<-21046, 10791> velocity=< 2, -1>
|
||||||
|
position=<-31709, 53370> velocity=< 3, -5>
|
||||||
|
position=< 21503, 21438> velocity=<-2, -2>
|
||||||
|
position=<-31695, -10498> velocity=< 3, 1>
|
||||||
|
position=<-10411, -53077> velocity=< 1, 5>
|
||||||
|
position=< 32169, 21438> velocity=<-3, -2>
|
||||||
|
position=< 53454, -42441> velocity=<-5, 4>
|
||||||
|
position=< 21487, 10785> velocity=<-2, -1>
|
||||||
|
position=<-31711, 10792> velocity=< 3, -1>
|
||||||
|
position=<-21085, -10497> velocity=< 2, 1>
|
||||||
|
position=<-42360, -42432> velocity=< 4, 4>
|
||||||
|
position=<-21090, 21434> velocity=< 2, -2>
|
||||||
|
position=<-31739, 32074> velocity=< 3, -3>
|
||||||
|
position=< 53417, -10502> velocity=<-5, 1>
|
||||||
|
position=<-42364, -21149> velocity=< 4, 2>
|
||||||
|
position=< 42767, -21147> velocity=<-4, 2>
|
||||||
|
position=< 21502, 10784> velocity=<-2, -1>
|
||||||
|
position=<-53016, -53077> velocity=< 5, 5>
|
||||||
|
position=<-10401, 10787> velocity=< 1, -1>
|
||||||
|
position=<-31715, 53373> velocity=< 3, -5>
|
||||||
|
position=< 10869, 53364> velocity=<-1, -5>
|
||||||
|
position=< 10848, -10499> velocity=<-1, 1>
|
||||||
|
position=< 10880, -10497> velocity=<-1, 1>
|
||||||
|
position=<-31749, 32074> velocity=< 3, -3>
|
||||||
|
position=<-42388, -31788> velocity=< 4, 3>
|
||||||
|
position=<-10440, 42719> velocity=< 1, -4>
|
||||||
|
position=< 10857, -53082> velocity=<-1, 5>
|
||||||
|
position=< 53461, -21147> velocity=<-5, 2>
|
||||||
|
position=<-21063, -10499> velocity=< 2, 1>
|
||||||
|
position=< 32124, 42728> velocity=<-3, -4>
|
||||||
|
position=<-21102, 10788> velocity=< 2, -1>
|
||||||
|
position=< 32179, 32079> velocity=<-3, -3>
|
||||||
|
position=< 10837, 32075> velocity=<-1, -3>
|
||||||
|
position=<-42383, 32077> velocity=< 4, -3>
|
||||||
|
position=< 42769, 21429> velocity=<-4, -2>
|
||||||
|
position=< 21495, -10497> velocity=<-2, 1>
|
||||||
|
position=< 32151, -42436> velocity=<-3, 4>
|
||||||
|
position=< 32129, 10784> velocity=<-3, -1>
|
||||||
|
position=<-31750, 10793> velocity=< 3, -1>
|
||||||
|
position=< 53449, -42432> velocity=<-5, 4>
|
||||||
|
position=< 32128, -42437> velocity=<-3, 4>
|
||||||
|
position=<-42377, -21144> velocity=< 4, 2>
|
||||||
|
position=< 10833, 53373> velocity=<-1, -5>
|
||||||
|
position=< 32143, 32083> velocity=<-3, -3>
|
||||||
|
position=< 42816, -31792> velocity=<-4, 3>
|
||||||
|
position=<-31727, 42728> velocity=< 3, -4>
|
||||||
|
position=<-21103, 42719> velocity=< 2, -4>
|
||||||
|
position=<-42368, 21438> velocity=< 4, -2>
|
||||||
|
position=<-21098, -10500> velocity=< 2, 1>
|
||||||
|
position=<-31735, -10506> velocity=< 3, 1>
|
||||||
|
position=<-42391, 32074> velocity=< 4, -3>
|
||||||
|
position=<-21095, -53081> velocity=< 2, 5>
|
||||||
|
position=<-21079, -21147> velocity=< 2, 2>
|
||||||
|
position=< 32151, 53366> velocity=<-3, -5>
|
||||||
|
position=<-42396, 10785> velocity=< 4, -1>
|
||||||
|
position=< 32119, 21434> velocity=<-3, -2>
|
||||||
|
position=<-31716, -42432> velocity=< 3, 4>
|
||||||
|
position=< 32162, 32081> velocity=<-3, -3>
|
||||||
|
position=< 10845, 21430> velocity=<-1, -2>
|
||||||
|
position=< 32119, -21149> velocity=<-3, 2>
|
||||||
|
position=< 53461, -10504> velocity=<-5, 1>
|
||||||
|
position=<-21074, -42438> velocity=< 2, 4>
|
||||||
|
position=< 10873, 53372> velocity=<-1, -5>
|
||||||
|
position=<-42380, -31792> velocity=< 4, 3>
|
||||||
|
position=<-31751, 10788> velocity=< 3, -1>
|
||||||
|
position=<-31735, -53086> velocity=< 3, 5>
|
||||||
|
position=< 21499, 10788> velocity=<-2, -1>
|
||||||
|
position=< 32147, 10784> velocity=<-3, -1>
|
||||||
|
position=<-10409, 42721> velocity=< 1, -4>
|
||||||
|
position=< 21492, -42435> velocity=<-2, 4>
|
||||||
|
position=< 10885, -42434> velocity=<-1, 4>
|
||||||
|
position=< 53409, -42433> velocity=<-5, 4>
|
||||||
|
position=<-31699, 10784> velocity=< 3, -1>
|
||||||
|
position=< 53459, -31787> velocity=<-5, 3>
|
||||||
|
position=<-21093, -42433> velocity=< 2, 4>
|
||||||
|
position=< 53436, -42432> velocity=<-5, 4>
|
||||||
|
position=< 42764, 42727> velocity=<-4, -4>
|
||||||
|
position=<-52982, 10793> velocity=< 5, -1>
|
||||||
|
position=<-21061, -53077> velocity=< 2, 5>
|
||||||
|
position=< 21525, 10784> velocity=<-2, -1>
|
||||||
|
position=<-10401, -53083> velocity=< 1, 5>
|
||||||
|
position=< 10833, 10793> velocity=<-1, -1>
|
||||||
|
position=< 42767, 10793> velocity=<-4, -1>
|
||||||
|
position=< 10869, 21429> velocity=<-1, -2>
|
||||||
|
position=<-42370, -53082> velocity=< 4, 5>
|
||||||
|
position=< 10881, 53372> velocity=<-1, -5>
|
||||||
|
position=<-10461, 21429> velocity=< 1, -2>
|
||||||
|
position=<-21080, -42432> velocity=< 2, 4>
|
||||||
|
position=< 42817, 10784> velocity=<-4, -1>
|
||||||
|
position=< 42805, -10501> velocity=<-4, 1>
|
||||||
|
position=<-42371, -31796> velocity=< 4, 3>
|
||||||
|
position=<-42388, 32079> velocity=< 4, -3>
|
||||||
|
position=< 21490, 21436> velocity=<-2, -2>
|
||||||
|
position=<-10421, 42726> velocity=< 1, -4>
|
||||||
|
position=< 21492, 42722> velocity=<-2, -4>
|
||||||
|
position=< 42799, 42728> velocity=<-4, -4>
|
||||||
|
position=<-53025, 10787> velocity=< 5, -1>
|
||||||
|
position=< 21474, -42441> velocity=<-2, 4>
|
||||||
|
position=< 53433, 10792> velocity=<-5, -1>
|
||||||
|
position=< 32130, -31796> velocity=<-3, 3>
|
||||||
|
position=< 53438, -10506> velocity=<-5, 1>
|
||||||
|
position=<-10445, -21146> velocity=< 1, 2>
|
||||||
|
position=< 21518, -10505> velocity=<-2, 1>
|
||||||
|
position=< 32151, 42722> velocity=<-3, -4>
|
||||||
|
position=< 21514, 42723> velocity=<-2, -4>
|
||||||
|
position=<-31739, 21433> velocity=< 3, -2>
|
||||||
|
position=<-21094, -10506> velocity=< 2, 1>
|
||||||
|
position=< 32129, -31792> velocity=<-3, 3>
|
||||||
|
position=< 42824, -53084> velocity=<-4, 5>
|
||||||
|
position=<-52999, -42435> velocity=< 5, 4>
|
||||||
|
position=< 53409, -31794> velocity=<-5, 3>
|
||||||
|
position=<-42353, -10504> velocity=< 4, 1>
|
||||||
|
position=< 32132, -42432> velocity=<-3, 4>
|
||||||
|
position=< 42780, -42436> velocity=<-4, 4>
|
||||||
|
position=< 10888, -31796> velocity=<-1, 3>
|
||||||
|
position=<-10421, -53077> velocity=< 1, 5>
|
||||||
|
position=<-53033, -21150> velocity=< 5, 2>
|
||||||
|
position=< 21494, -53085> velocity=<-2, 5>
|
||||||
|
position=< 21533, -10506> velocity=<-2, 1>
|
||||||
|
position=< 53421, 32080> velocity=<-5, -3>
|
||||||
|
position=< 32159, -10501> velocity=<-3, 1>
|
||||||
|
position=< 10881, 21436> velocity=<-1, -2>
|
||||||
|
position=< 21493, 32081> velocity=<-2, -3>
|
||||||
|
position=<-42363, 53364> velocity=< 4, -5>
|
||||||
|
position=<-52993, 42727> velocity=< 5, -4>
|
||||||
|
position=< 10841, -31792> velocity=<-1, 3>
|
||||||
|
position=< 10871, -53083> velocity=<-1, 5>
|
||||||
|
position=<-42379, 53369> velocity=< 4, -5>
|
||||||
|
position=< 21518, 21430> velocity=<-2, -2>
|
||||||
|
position=<-31727, 32078> velocity=< 3, -3>
|
||||||
|
position=<-42361, -31796> velocity=< 4, 3>
|
||||||
|
position=< 32123, -21142> velocity=<-3, 2>
|
||||||
|
position=< 10856, 10784> velocity=<-1, -1>
|
||||||
|
position=< 10853, 21430> velocity=<-1, -2>
|
||||||
|
position=< 21498, -31787> velocity=<-2, 3>
|
||||||
|
position=<-21098, -10506> velocity=< 2, 1>
|
||||||
|
position=<-42388, -10501> velocity=< 4, 1>
|
||||||
|
position=<-42395, -31796> velocity=< 4, 3>
|
||||||
|
position=< 10870, -42436> velocity=<-1, 4>
|
||||||
|
position=< 42824, -10501> velocity=<-4, 1>
|
||||||
|
position=< 42800, 10784> velocity=<-4, -1>
|
|
@ -24,6 +24,7 @@ dependencies:
|
||||||
- containers
|
- containers
|
||||||
- text
|
- text
|
||||||
- extra
|
- extra
|
||||||
|
- matrix
|
||||||
|
|
||||||
library:
|
library:
|
||||||
source-dirs: src
|
source-dirs: src
|
||||||
|
|
47
src/Day10.hs
47
src/Day10.hs
|
@ -1,6 +1,49 @@
|
||||||
module Day10 (main) where
|
module Day10 (main) where
|
||||||
|
|
||||||
|
import Data.List (sortBy, groupBy)
|
||||||
|
import Data.Ord (comparing)
|
||||||
|
import Data.Function (on)
|
||||||
|
import Data.Tuple.Extra ((***))
|
||||||
|
import Data.Matrix (matrix, toLists)
|
||||||
|
|
||||||
|
type Point = (Position, Velocity)
|
||||||
|
type Position = (Int, Int) -- ( x, y)
|
||||||
|
type Velocity = (Int, Int) -- (dx, dy)
|
||||||
|
|
||||||
|
stepPoint :: Point -> Point
|
||||||
|
stepPoint ((x, y), (dx, dy)) = ((x + dx, y + dy), (dx, dy))
|
||||||
|
|
||||||
|
parse :: String -> Point
|
||||||
|
parse str =
|
||||||
|
let position = "(" ++ (take 14 . drop 10 $ str) ++ ")"
|
||||||
|
velocity = "(" ++ (take 6 . drop 36 $ str) ++ ")"
|
||||||
|
in (read position, read velocity)
|
||||||
|
|
||||||
|
alignedX :: Int -> [Point] -> Bool
|
||||||
|
alignedX n =
|
||||||
|
any nearby . map (snd . unzip) . groupBy ((==) `on` fst) . sortBy (comparing fst) . fst . unzip
|
||||||
|
where nearby ys = length ys >= n && (maximum ys) - (minimum ys) < n
|
||||||
|
|
||||||
|
toGrid :: [Point] -> String
|
||||||
|
toGrid points =
|
||||||
|
let positions = fst . unzip $ points
|
||||||
|
minX = minimum . fst . unzip $ positions
|
||||||
|
minY = minimum . snd . unzip $ positions
|
||||||
|
maxX = maximum . fst . unzip $ positions
|
||||||
|
maxY = maximum . snd . unzip $ positions
|
||||||
|
isPoint (y, x) = if (x + minX - 1, y + minY - 1) `elem` positions then '#' else '.'
|
||||||
|
grid = matrix (maxY - minY + 1) (maxX - minX + 1) isPoint
|
||||||
|
in unlines . toLists $ grid
|
||||||
|
|
||||||
|
part1 :: Int -> [Point] -> (String, Int)
|
||||||
|
part1 sec points =
|
||||||
|
if alignedX 10 points
|
||||||
|
then (toGrid $ points, sec)
|
||||||
|
else part1 (sec + 1) $ map stepPoint points
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = do
|
main = do
|
||||||
input <- readFile "input/10.txt"
|
input <- map parse . lines <$> readFile "input/10.txt"
|
||||||
print input
|
let result = part1 0 input
|
||||||
|
putStrLn $ fst result
|
||||||
|
print $ snd result
|
||||||
|
|
Loading…
Reference in New Issue