a day ago
- Start by solving the puzzle manually to identify deduction patterns.
- Store possible orientations for each piece and iteratively rule out invalid ones.
- Track edge states (connected or unconnected) to simplify local deductions.
- Use union-find data structure to avoid loops by merging connected squares.
- Implement dead-end detection by calculating maximum reachable squares from each edge.
- Consider parity-based loop deduction as a potential enhancement (not yet implemented).