Skip to content

qszhu/aoc-nim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code Solutions in Nim

* denotes tricky problems

2020

Day Tags Memo
25 implementation
24 hexagon, simulation See 2017 day 11
23* simulation, table part2: use hash table to implement circular linked list
22 simulation, deque
21 set
20* implementation borders are unique; monsters won't overlap
19* dfs, grammar part2: brute force rules
18 expression, stack Shunting yard algorithm
17 simulation
16 implementation, set
15 simulation
14 implementation
13 math, chinese remainder theorem implement crt
12 implementation turning degrees are multiples of 90
11 simulation
10 implementation, sort, counter, dp
9 implementation, prefix sum, bisect
8 simulation, brute force
7 regex, graph, dfs
6 implementation, set
5 implementation
4 implementation, regex
3 implementation
2 implementation
1 two pointers

2019

Day Tags Memo
25 simulation, dfs, interactive, brute force solve day 9 first; the map is a tree not a grid
24 simulation
23 simulation solve day 9 first
22* matrix, modint, bigint implement matrix, modint
21* simulation, brute force solve day 9 first; only needs an additional "H"; slow
20 parsing, bfs labels are read either left-to-right or top-to-bottom; part2: compress states by building graph
19 simulation, brute force solve day 9 first
18* bfs, bitmask part1: same problem on leetcode; part2: compress states by skipping empty cells; slow
17 simulation, dfs, brute force, rle solve day 9 first
16* simulation, suffix sum part2: the offset is guaranteed at second half
15* simulation, backtracking, bfs solve day 9 first; get a map first
14 graph, topological sorting, bisect
13 simulation solve day 9 first
12 simulation, period part2: find peroid for each axis independently
11 simulation solve day 9 first
10 math, simulation
9 implementation solve day 5 first
8 implementation
7 simulation, permutation solve day 5 first
6 tree, dfs
5 simulation solve day 2 first
4 brute force
3 simulation, hash
2 implementation, brute force
1 implementation

2018

Day Tags Memo
25 disjoint set
24 simulation look out for draw states that would make combats unable to proceed
23* graph, clique, bisect add a new bot at the origin, and find the shortest range of it that would make it into a largest clique
22 implementation, bfs
21 reverse engineering, period solve day 19 first
20* dfs, bfs regex implementation
19 simulation, reverse engineering sum of divisors
18 simulation, grid, period
17* simulation, dfs
16 backtracking, simulation
15* simulation, bfs if a unit could not find a living oppenent in its turn, the round is incomplete and not counted for
14 simulation
13 simulation
12 simulation, period
11 implementation, grid, integral image, brute force
10 simulation run simulation until the bounding box of points is small enough
9 simulation, linked list
8 dfs
7 graph, topological sorting, priority queue
6 grid, flood fill
5 string, simulation, stack, brute force
4 implementation
3 grid implement Imos
2 implementation, string
1 implementation, hash

2017

Day Tags Memo
25 simulation, parsing
24 dfs
23 simulation, reverse engineering part2: check prime
22 simulation, hash
21 simulation Glider
20 simulation, math part2: settles under 50 secs
19 simulation
18 simulation, coroutine
17 simulation
16 simulation, period
15 implementation, brute force
14 implementation, flood fill solve day 10 first
13 math, brute force similar to 2016 day 15
12 graph, disjoint set implement Disjoint-set/Union-find
11 math Hexagonal Grids
10 string, implementation
9 string, parsing
8 simulation
7 graph, dfs nodes with two subtrees are always balanced
6 simulation, hash
5 simulation
4 string, implementation
3 math, simulation
2 implementation, brute force
1 string, implementation

2016

Day Tags Memo
25 simulation, vm, brute force, reverse engineering integer in binary: reverse engineered
24 grid, bfs
23 simulation, vm, reverse engineering part2: factorial
22* grid, bfs part2: move only the empty node and the target node
21 string, simulation, brute force, permutation
20 simulation
19 math, simulation implement OrderedList
18 string, implementation
17 bfs, brute force
16 string, implementation
15 math, brute force
14 string, sliding window
13 bfs
12 simulation, vm, reverse engineering reverse engineered
11* bfs items with same types are equivalent, count number of items for each type only
10 simulation
9 string, simulation, dfs
8 simulation, grid
7 string, implementation
6 implementation
5 brute force, implementation
4 implementation
3 math
2 simulation
1 simulation

2015

Day Tags Memo
25 math, fastExp
24 brute force, dfs
23 simulation, vm, reverse engineering Collatz conjecture
22 simulation, bfs
21 brute force, math
20 math
19* dfs part2: reduce target string from back to front using reversed rules
18 simulation, grid
17 brute force, bitops
16 brute force
15 dfs, brute force
14 math, simulation
13 brute force, permutation
12 dfs
11 string, brute force
10 simulation
9 graph, brute force, permutation
8 string
7 dfs, memoization
6 simulation, grid
5 string, regex
4 brute force, implementation
3 simulation
2 math
1 stack

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages