-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnotes
39 lines (38 loc) · 4.29 KB
/
notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
issues with examples:
2018 day 3: example outputs aren't given directly, and are misidentified
2019 day 2: intcode, but not detected as such; example provided doesn't work with actual problem. Set to [NONE].
2019 day 10: example expected for part 2 is not the first one in the page
2019 day 14: example output expected for part 1 is not the last one on the page
2019 day 18: example provided for part 2 is not the first ome on the page; and also doesn't exactly match expected input format, only after a processing step is performed on it. Set to [NONE].
2019 day 24: example found matches the expected final state, not the initial state; which is inside a block with additional contexts
2020 day 1: expected output for part 1 misidentified
2020 day 2: expected output not present for part 2 and is misidentified as "c". Set to 1.
2020 day 6: example provided for part 2 is not the first one in the page
2020 day 7: example provided for part 2 is not the first one on the page (multiple examples with answers provided)
2020 day 9: example has a different setup from the real question (preamble length 5 rather than 25) - fixed
2020 day 10: example provided for parts 1 and 2 is not the first one on the page (multiple examples with answers provided; also p1 answers aren't direct;y included)
2020 day 14: example provided for part 2 is not the first one on the page + initial example for part 1 causes solution to timeout
2020 day 18: examples in code block aren't valid (actually contain explanatory steps), inline examples aren't detected, but the output to one is.
2020 day 19: example provided for part 2 is not the first one on the page; and the first one on the page isn't a valid example (second group missing)
2021 day 6: example output for part 1 is bad - found non-example in em-code over true example output in code-em, despite the latter appearing later
2021 day 8: example provided for part 2 is not the first one on the page; and the examples are in a different format to the input (2 lines per entry rather than 1). Set to [NONE].
2021 day 18: example provided for part 2 is not the first one on the page.
2021 day 19: example provided for part 2 is not the first one on the page; also first provided example is in a different format (only 2 dims)
2021 day 21: example output for part 1 is bad - found non-example in em-code over true example output in code-em, despite the latter appearing later
2021 day 22: example provided for parts 1 and 2 is not the first one on the page; and for part 2 it's new.
2021 day 23: example provided is slow (just as complex as the real input). Set to [NONE].
2021 day 24: example found doesn't work with full solution (just an example of an asm program, not one that does what the inp is supposed to do). Set to [NONE].
2024 day 4: part 2 uses different example
possible improvements and things for next time:
- Look into more complex example finder - a lot of cases above is when multiple examples were provided
- Make y-is-up vs y-is-down more consistent - currently grids in most but not all situations use y-is-down by default, and Dirs uses y-is-up.
- - investigate how often y-is-up is actually necessary
- - maybe print a warning when inconsistent uses are detected. or use a global flag...
- Dirs being a DotDict means autocompletions don't work. as a class maybe it could do more smart thing with y-is-down stuff too.
- The fact that Grid taking an int or str as its first argument means to read the input file is weird. But it is convenient and quick to type...
- Utilities related to which part you're on - printp1(), printp2() (auto-prefix, perhaps early exit), is_p1, support part via sys.argv. Useful for updating old solutions that can't easily be rewritten to do both parts at once, or would take a big performance hit when testing.
- Visualisation flag? --vis in argv, is_vis; enable displaying visualisations without costing performance or output clutter when testing.
- - Utilities useful for visualisations, such as coloured text (use curses library?)
- - But visualisations more complex than e.g. drawing grids while the sol is running could go in separate files.
- Can anything be done about the performance overhead of IVec2 compared to plain tuples/complexes? Particularly on cellular automata questions.
- Perhaps custom version of @dataclass that makes it a vector? (i.e. supports +,-,* pointwise).