Goals:
- implement the algorithm from wikipedia
- implement a DFS algorithm for NxN using Lists
- add in flipped + rotated checks
Did not:
- implement a basic DFS algorithm for NxN, maybe using pairs
- implement a faster DFS algorithm using arrays
Possible optimizations:
- Use arrays instead of lists