multi-puzzle-solver 1.0.6__tar.gz → 1.0.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of multi-puzzle-solver might be problematic. Click here for more details.

Files changed (138) hide show
  1. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/PKG-INFO +421 -265
  2. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/README.md +420 -264
  3. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/multi_puzzle_solver.egg-info/PKG-INFO +421 -265
  4. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/multi_puzzle_solver.egg-info/SOURCES.txt +4 -0
  5. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/__init__.py +5 -1
  6. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/core/utils_visualizer.py +565 -561
  7. multi_puzzle_solver-1.0.8/src/puzzle_solver/puzzles/abc_view/abc_view.py +75 -0
  8. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/heyawake/heyawake.py +67 -13
  9. multi_puzzle_solver-1.0.8/src/puzzle_solver/puzzles/mathema_grids/mathema_grids.py +119 -0
  10. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/nonograms/nonograms_colored.py +220 -221
  11. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/palisade/palisade.py +91 -106
  12. multi_puzzle_solver-1.0.8/src/puzzle_solver/puzzles/shingoki/shingoki.py +115 -0
  13. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/tracks/tracks.py +1 -1
  14. multi_puzzle_solver-1.0.8/tests/test_abc_view.py +29 -0
  15. multi_puzzle_solver-1.0.8/tests/test_mathema_grids.py +106 -0
  16. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_shingoki.py +50 -98
  17. multi_puzzle_solver-1.0.6/src/puzzle_solver/puzzles/shingoki/shingoki.py +0 -158
  18. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/pyproject.toml +0 -0
  19. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/setup.cfg +0 -0
  20. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/multi_puzzle_solver.egg-info/dependency_links.txt +0 -0
  21. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/multi_puzzle_solver.egg-info/requires.txt +0 -0
  22. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/multi_puzzle_solver.egg-info/top_level.txt +0 -0
  23. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/core/utils.py +0 -0
  24. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/core/utils_ortools.py +0 -0
  25. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/aquarium/aquarium.py +0 -0
  26. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/battleships/battleships.py +0 -0
  27. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/binairo/binairo.py +0 -0
  28. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/binairo/binairo_plus.py +0 -0
  29. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/black_box/black_box.py +0 -0
  30. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/bridges/bridges.py +0 -0
  31. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/chess_range/chess_melee.py +0 -0
  32. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/chess_range/chess_range.py +0 -0
  33. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/chess_range/chess_solo.py +0 -0
  34. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/connect_the_dots/connect_the_dots.py +0 -0
  35. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/dominosa/dominosa.py +0 -0
  36. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/filling/filling.py +0 -0
  37. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/flip/flip.py +0 -0
  38. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/flood_it/flood_it.py +0 -0
  39. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/flood_it/parse_map/parse_map.py +0 -0
  40. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/galaxies/galaxies.py +0 -0
  41. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/galaxies/parse_map/parse_map.py +0 -0
  42. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/guess/guess.py +0 -0
  43. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/inertia/inertia.py +0 -0
  44. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/inertia/parse_map/parse_map.py +0 -0
  45. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/inertia/tsp.py +0 -0
  46. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/kakurasu/kakurasu.py +0 -0
  47. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/kakuro/kakuro.py +0 -0
  48. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/keen/keen.py +0 -0
  49. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/light_up/light_up.py +0 -0
  50. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/lits/lits.py +0 -0
  51. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/magnets/magnets.py +0 -0
  52. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/map/map.py +0 -0
  53. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/minesweeper/minesweeper.py +0 -0
  54. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/mosaic/mosaic.py +0 -0
  55. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/nonograms/nonograms.py +0 -0
  56. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/norinori/norinori.py +0 -0
  57. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/nurikabe/nurikabe.py +0 -0
  58. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/pearl/pearl.py +0 -0
  59. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/pipes/pipes.py +0 -0
  60. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/range/range.py +0 -0
  61. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/rectangles/rectangles.py +0 -0
  62. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/shakashaka/shakashaka.py +0 -0
  63. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/signpost/signpost.py +0 -0
  64. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/singles/singles.py +0 -0
  65. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/slant/parse_map/parse_map.py +0 -0
  66. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/slant/slant.py +0 -0
  67. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/slitherlink/slitherlink.py +0 -0
  68. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/star_battle/star_battle.py +0 -0
  69. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/star_battle/star_battle_shapeless.py +0 -0
  70. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/stitches/parse_map/parse_map.py +0 -0
  71. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/stitches/stitches.py +0 -0
  72. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/sudoku/sudoku.py +0 -0
  73. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/tapa/tapa.py +0 -0
  74. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/tents/tents.py +0 -0
  75. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/thermometers/thermometers.py +0 -0
  76. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/towers/towers.py +0 -0
  77. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/twiddle/twiddle.py +0 -0
  78. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/undead/undead.py +0 -0
  79. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/unequal/unequal.py +0 -0
  80. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/unruly/unruly.py +0 -0
  81. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/yin_yang/parse_map/parse_map.py +0 -0
  82. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/puzzles/yin_yang/yin_yang.py +0 -0
  83. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/src/puzzle_solver/utils/visualizer.py +0 -0
  84. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_aquarium.py +0 -0
  85. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_battleships.py +0 -0
  86. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_binairo.py +0 -0
  87. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_binairo_plus.py +0 -0
  88. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_black_box.py +0 -0
  89. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_bridges.py +0 -0
  90. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_chess_melee.py +0 -0
  91. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_chess_range.py +0 -0
  92. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_chess_solo.py +0 -0
  93. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_connect_the_dots.py +0 -0
  94. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_dominosa.py +0 -0
  95. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_filling.py +0 -0
  96. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_flip.py +0 -0
  97. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_flood_it.py +0 -0
  98. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_galaxies.py +0 -0
  99. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_guess.py +0 -0
  100. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_heyawake.py +0 -0
  101. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_inertia.py +0 -0
  102. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_kakurasu.py +0 -0
  103. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_kakuro.py +0 -0
  104. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_keen.py +0 -0
  105. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_light_up.py +0 -0
  106. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_lits.py +0 -0
  107. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_magnets.py +0 -0
  108. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_map.py +0 -0
  109. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_minesweeper.py +0 -0
  110. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_mosaic.py +0 -0
  111. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_nonograms.py +0 -0
  112. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_nonograms_colored.py +0 -0
  113. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_norinori.py +0 -0
  114. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_nurikabe.py +0 -0
  115. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_palisade.py +0 -0
  116. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_pearl.py +0 -0
  117. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_pipes.py +0 -0
  118. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_range.py +0 -0
  119. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_rectangles.py +0 -0
  120. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_shakashaka.py +0 -0
  121. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_signpost.py +0 -0
  122. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_singles.py +0 -0
  123. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_slant.py +0 -0
  124. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_slitherlink.py +0 -0
  125. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_star_battle.py +0 -0
  126. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_stitches.py +0 -0
  127. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_sudoku.py +0 -0
  128. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_tapa.py +0 -0
  129. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_tents.py +0 -0
  130. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_thermometers.py +0 -0
  131. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_towers.py +0 -0
  132. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_tracks.py +0 -0
  133. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_twiddle.py +0 -0
  134. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_undead.py +0 -0
  135. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_unequal.py +0 -0
  136. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_unruly.py +0 -0
  137. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_utils.py +0 -0
  138. {multi_puzzle_solver-1.0.6 → multi_puzzle_solver-1.0.8}/tests/test_yin_yang.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multi-puzzle-solver
3
- Version: 1.0.6
3
+ Version: 1.0.8
4
4
  Summary: Efficient solvers for countless (50+) types of puzzles (like Sudoku, Minesweeper, etc.) with a simple python API.
5
5
  Author: Ar-Kareem
6
6
  Project-URL: Homepage, https://github.com/Ar-Kareem/puzzle_solver
@@ -102,309 +102,319 @@ These are all the puzzles that are implemented in this repo. <br> Click on any o
102
102
  <tr>
103
103
  <td align="center">
104
104
  <a href="#nonograms-puzzle-type-1"><b>Nonograms</b><br><br>
105
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nonogram_solved.png" alt="Nonograms" width="140">
105
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nonogram_solved.png" alt="Nonograms" width="140">
106
106
  </a>
107
107
  </td>
108
108
  <td align="center">
109
109
  <a href="#sudoku-puzzle-type-2"><b>Sudoku</b><br><br>
110
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_solved.png" alt="Sudoku" width="140">
110
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_solved.png" alt="Sudoku" width="140">
111
111
  </a>
112
112
  </td>
113
113
  <td align="center">
114
114
  <a href="#minesweeper-puzzle-type-3"><b>Minesweeper</b><br><br>
115
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/minesweeper_pre.png" alt="Minesweeper" width="140">
115
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/minesweeper_pre.png" alt="Minesweeper" width="140">
116
116
  </a>
117
117
  </td>
118
118
  <td align="center">
119
119
  <a href="#dominosa-puzzle-type-4"><b>Dominosa</b><br><br>
120
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/dominosa_solved.png" alt="Dominosa" width="140">
120
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/dominosa_solved.png" alt="Dominosa" width="140">
121
121
  </a>
122
122
  </td>
123
123
  <td align="center">
124
124
  <a href="#light-up-puzzle-type-5"><b>Light Up</b><br><br>
125
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/lightup_solved.png" alt="Light Up" width="140">
125
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/lightup_solved.png" alt="Light Up" width="140">
126
126
  </a>
127
127
  </td>
128
128
  </tr>
129
129
  <tr>
130
130
  <td align="center">
131
131
  <a href="#tents-puzzle-type-6"><b>Tents</b><br><br>
132
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tents_solved.png" alt="Tents" width="140">
132
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tents_solved.png" alt="Tents" width="140">
133
133
  </a>
134
134
  </td>
135
135
  <td align="center">
136
136
  <a href="#filling-puzzle-type-7"><b>Filling</b><br><br>
137
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/filling_solved.png" alt="Filling" width="140">
137
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/filling_solved.png" alt="Filling" width="140">
138
138
  </a>
139
139
  </td>
140
140
  <td align="center">
141
141
  <a href="#keen-puzzle-type-8"><b>Keen</b><br><br>
142
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/keen_solved.png" alt="Keen" width="140">
142
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/keen_solved.png" alt="Keen" width="140">
143
143
  </a>
144
144
  </td>
145
145
  <td align="center">
146
146
  <a href="#towers-puzzle-type-9"><b>Towers</b><br><br>
147
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/towers_solved.png" alt="Towers" width="140">
147
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/towers_solved.png" alt="Towers" width="140">
148
148
  </a>
149
149
  </td>
150
150
  <td align="center">
151
151
  <a href="#singles-puzzle-type-10"><b>Singles</b><br><br>
152
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/singles_solved.png" alt="Singles" width="140">
152
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/singles_solved.png" alt="Singles" width="140">
153
153
  </a>
154
154
  </td>
155
155
  </tr>
156
156
  <tr>
157
157
  <td align="center">
158
158
  <a href="#magnets-puzzle-type-11"><b>Magnets</b><br><br>
159
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/magnets_solved.png" alt="Magnets" width="140">
159
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/magnets_solved.png" alt="Magnets" width="140">
160
160
  </a>
161
161
  </td>
162
162
  <td align="center">
163
163
  <a href="#signpost-puzzle-type-12"><b>Signpost</b><br><br>
164
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/signpost_solved.png" alt="Signpost" width="140">
164
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/signpost_solved.png" alt="Signpost" width="140">
165
165
  </a>
166
166
  </td>
167
167
  <td align="center">
168
168
  <a href="#range-puzzle-type-13"><b>Range</b><br><br>
169
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/range_solved.png" alt="Range" width="140">
169
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/range_solved.png" alt="Range" width="140">
170
170
  </a>
171
171
  </td>
172
172
  <td align="center">
173
173
  <a href="#undead-puzzle-type-14"><b>Undead</b><br><br>
174
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/undead_solved.png" alt="Undead" width="140">
174
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/undead_solved.png" alt="Undead" width="140">
175
175
  </a>
176
176
  </td>
177
177
  <td align="center">
178
178
  <a href="#unruly-puzzle-type-15"><b>Unruly</b><br><br>
179
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/unruly_solved.png" alt="Unruly" width="140">
179
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/unruly_solved.png" alt="Unruly" width="140">
180
180
  </a>
181
181
  </td>
182
182
  </tr>
183
183
  <tr>
184
184
  <td align="center">
185
185
  <a href="#tracks-puzzle-type-16"><b>Tracks</b><br><br>
186
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tracks_solved.png" alt="Tracks" width="140">
186
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tracks_solved.png" alt="Tracks" width="140">
187
187
  </a>
188
188
  </td>
189
189
  <td align="center">
190
190
  <a href="#mosaic-puzzle-type-17"><b>Mosaic</b><br><br>
191
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/mosaic_solved.png" alt="Mosaic" width="140">
191
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/mosaic_solved.png" alt="Mosaic" width="140">
192
192
  </a>
193
193
  </td>
194
194
  <td align="center">
195
195
  <a href="#map-puzzle-type-18"><b>Map</b><br><br>
196
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/map_solved.png" alt="Map" width="140">
196
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/map_solved.png" alt="Map" width="140">
197
197
  </a>
198
198
  </td>
199
199
  <td align="center">
200
200
  <a href="#pearl-puzzle-type-19"><b>Pearl</b><br><br>
201
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/pearl_solved.png" alt="Pearl" width="140">
201
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/pearl_solved.png" alt="Pearl" width="140">
202
202
  </a>
203
203
  </td>
204
204
  <td align="center">
205
205
  <a href="#bridges-puzzle-type-20"><b>Bridges</b><br><br>
206
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/bridges_solved.png" alt="Bridges" width="140">
206
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/bridges_solved.png" alt="Bridges" width="140">
207
207
  </a>
208
208
  </td>
209
209
  </tr>
210
210
  <tr>
211
211
  <td align="center">
212
212
  <a href="#inertia-puzzle-type-21"><b>Inertia</b><br><br>
213
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/inertia_unsolved.png" alt="Inertia" width="140">
213
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/inertia_unsolved.png" alt="Inertia" width="140">
214
214
  </a>
215
215
  </td>
216
216
  <td align="center">
217
217
  <a href="#guess-puzzle-type-22"><b>Guess</b><br><br>
218
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/guess_3.png" alt="Guess" width="140">
218
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/guess_3.png" alt="Guess" width="140">
219
219
  </a>
220
220
  </td>
221
221
  <td align="center">
222
222
  <a href="#chess-range-puzzle-type-23"><b>Chess Range</b><br><br>
223
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_range_unsolved.png" alt="Chess range" width="140">
223
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_range_unsolved.png" alt="Chess range" width="140">
224
224
  </a>
225
225
  </td>
226
226
  <td align="center">
227
227
  <a href="#chess-solo-puzzle-type-24"><b>Chess Solo</b><br><br>
228
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_solo_unsolved.png" alt="Chess solo" width="140">
228
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_solo_unsolved.png" alt="Chess solo" width="140">
229
229
  </a>
230
230
  </td>
231
231
  <td align="center">
232
232
  <a href="#chess-melee-puzzle-type-25"><b>Chess Melee</b><br><br>
233
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_melee_unsolved.png" alt="Chess melee" width="140">
233
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_melee_unsolved.png" alt="Chess melee" width="140">
234
234
  </a>
235
235
  </td>
236
236
  </tr>
237
237
  <tr>
238
238
  <td align="center">
239
239
  <a href="#thermometers-puzzle-type-26"><b>Thermometers</b><br><br>
240
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/thermometers_solved.png" alt="Thermometers" width="140">
240
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/thermometers_solved.png" alt="Thermometers" width="140">
241
241
  </a>
242
242
  </td>
243
243
  <td align="center">
244
244
  <a href="#aquarium-puzzle-type-27"><b>Aquarium</b><br><br>
245
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/aquarium_solved.png" alt="Aquarium" width="140">
245
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/aquarium_solved.png" alt="Aquarium" width="140">
246
246
  </a>
247
247
  </td>
248
248
  <td align="center">
249
249
  <a href="#stitches-puzzle-type-28"><b>Stitches</b><br><br>
250
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/stitches_solved.png" alt="Stitches" width="140">
250
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/stitches_solved.png" alt="Stitches" width="140">
251
251
  </a>
252
252
  </td>
253
253
  <td align="center">
254
254
  <a href="#battleships-puzzle-type-29"><b>Battleships</b><br><br>
255
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/battleships_solved.png" alt="Battleships" width="140">
255
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/battleships_solved.png" alt="Battleships" width="140">
256
256
  </a>
257
257
  </td>
258
258
  <td align="center">
259
259
  <a href="#kakurasu-puzzle-type-30"><b>Kakurasu</b><br><br>
260
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/kakurasu_solved.png" alt="Kakurasu" width="140">
260
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/kakurasu_solved.png" alt="Kakurasu" width="140">
261
261
  </a>
262
262
  </td>
263
263
  </tr>
264
264
  <tr>
265
265
  <td align="center">
266
266
  <a href="#star-battle-puzzle-type-31"><b>Star Battle</b><br><br>
267
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/star_battle_solved.png" alt="Star Battle" width="140">
267
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/star_battle_solved.png" alt="Star Battle" width="140">
268
268
  </a>
269
269
  </td>
270
270
  <td align="center">
271
271
  <a href="#star-battle-shapeless-puzzle-type-32"><b>Star Battle Shapeless</b><br><br>
272
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/star_battle_shapeless_solved.png" alt="Star Battle Shapeless" width="140">
272
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/star_battle_shapeless_solved.png" alt="Star Battle Shapeless" width="140">
273
273
  </a>
274
274
  </td>
275
275
  <td align="center">
276
276
  <a href="#lits-puzzle-type-33"><b>Lits</b><br><br>
277
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/lits_solved.png" alt="Lits" width="140">
277
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/lits_solved.png" alt="Lits" width="140">
278
278
  </a>
279
279
  </td>
280
280
  <td align="center">
281
281
  <a href="#black-box-puzzle-type-34"><b>Black Box</b><br><br>
282
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/black_box_solved.png" alt="Black Box" width="140">
282
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/black_box_solved.png" alt="Black Box" width="140">
283
283
  </a>
284
284
  </td>
285
285
  <td align="center">
286
286
  <a href="#galaxies-puzzle-type-35"><b>Galaxies</b><br><br>
287
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/galaxies_solved.png" alt="Galaxies" width="140">
287
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/galaxies_solved.png" alt="Galaxies" width="140">
288
288
  </a>
289
289
  </td>
290
290
  </tr>
291
291
  <tr>
292
292
  <td align="center">
293
293
  <a href="#slant-puzzle-type-36"><b>Slant</b><br><br>
294
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/slant_solved.png" alt="Slant" width="140">
294
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/slant_solved.png" alt="Slant" width="140">
295
295
  </a>
296
296
  </td>
297
297
  <td align="center">
298
298
  <a href="#unequal-puzzle-type-37"><b>Unequal</b><br><br>
299
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/unequal_solved.png" alt="Unequal" width="140">
299
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/unequal_solved.png" alt="Unequal" width="140">
300
300
  </a>
301
301
  </td>
302
302
  <td align="center">
303
303
  <a href="#norinori-puzzle-type-38"><b>Norinori</b><br><br>
304
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/norinori_solved.png" alt="Norinori" width="140">
304
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/norinori_solved.png" alt="Norinori" width="140">
305
305
  </a>
306
306
  </td>
307
307
  <td align="center">
308
308
  <a href="#slitherlink-puzzle-type-39"><b>Slitherlink</b><br><br>
309
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/slitherlink_solved.png" alt="Slitherlink" width="140">
309
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/slitherlink_solved.png" alt="Slitherlink" width="140">
310
310
  </a>
311
311
  </td>
312
312
  <td align="center">
313
313
  <a href="#yin-yang-puzzle-type-40"><b>Yin-Yang</b><br><br>
314
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/yin_yang_solved.png" alt="Yin-Yang" width="140">
314
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/yin_yang_solved.png" alt="Yin-Yang" width="140">
315
315
  </a>
316
316
  </td>
317
317
  </tr>
318
318
  <tr>
319
319
  <td align="center">
320
320
  <a href="#binairo-puzzle-type-41"><b>Binairo</b><br><br>
321
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/binairo_solved.png" alt="Binairo" width="140">
321
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/binairo_solved.png" alt="Binairo" width="140">
322
322
  </a>
323
323
  </td>
324
324
  <td align="center">
325
325
  <a href="#rectangles-puzzle-type-42"><b>Rectangles</b><br><br>
326
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/rectangles_solved.png" alt="Rectangles" width="140">
326
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/rectangles_solved.png" alt="Rectangles" width="140">
327
327
  </a>
328
328
  </td>
329
329
  <td align="center">
330
330
  <a href="#palisade-puzzle-type-43"><b>Palisade</b><br><br>
331
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/palisade_solved.png" alt="Palisade" width="140">
331
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/palisade_solved.png" alt="Palisade" width="140">
332
332
  </a>
333
333
  </td>
334
334
  <td align="center">
335
335
  <a href="#flip-puzzle-type-44"><b>Flip</b><br><br>
336
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/flip_unsolved.png" alt="Flip" width="140">
336
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/flip_unsolved.png" alt="Flip" width="140">
337
337
  </a>
338
338
  </td>
339
339
  <td align="center">
340
340
  <a href="#nurikabe-puzzle-type-45"><b>Nurikabe</b><br><br>
341
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nurikabe_solved.png" alt="Nurikabe" width="140">
341
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nurikabe_solved.png" alt="Nurikabe" width="140">
342
342
  </a>
343
343
  </td>
344
344
  </tr>
345
345
  <tr>
346
346
  <td align="center">
347
347
  <a href="#heyawake-puzzle-type-46"><b>Heyawake</b><br><br>
348
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/heyawake_solved.png" alt="Heyawake" width="140">
348
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/heyawake_solved.png" alt="Heyawake" width="140">
349
349
  </a>
350
350
  </td>
351
351
  <td align="center">
352
352
  <a href="#shingoki-puzzle-type-47"><b>Shingoki</b><br><br>
353
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/shingoki_solved.png" alt="Shingoki" width="140">
353
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/shingoki_solved.png" alt="Shingoki" width="140">
354
354
  </a>
355
355
  </td>
356
356
  <td align="center">
357
357
  <a href="#tapa-puzzle-type-48"><b>Tapa</b><br><br>
358
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tapa_solved.png" alt="Tapa" width="140">
358
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tapa_solved.png" alt="Tapa" width="140">
359
359
  </a>
360
360
  </td>
361
361
  <td align="center">
362
362
  <a href="#binairo-plus-puzzle-type-49"><b>Binairo Plus</b><br><br>
363
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/binairo_plus_solved.png" alt="Binairo Plus" width="140">
363
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/binairo_plus_solved.png" alt="Binairo Plus" width="140">
364
364
  </a>
365
365
  </td>
366
366
  <td align="center">
367
367
  <a href="#shakashaka-puzzle-type-50"><b>Shakashaka</b><br><br>
368
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/shakashaka_solved.png" alt="Shakashaka" width="140">
368
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/shakashaka_solved.png" alt="Shakashaka" width="140">
369
369
  </a>
370
370
  </td>
371
371
  </tr>
372
372
  <tr>
373
373
  <td align="center">
374
374
  <a href="#kakuro-puzzle-type-51"><b>Kakuro</b><br><br>
375
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/kakuro_solved.png" alt="Kakuro" width="140">
375
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/kakuro_solved.png" alt="Kakuro" width="140">
376
376
  </a>
377
377
  </td>
378
378
  <td align="center">
379
379
  <a href="#sudoku-jigsaw-puzzle-type-52"><b>Sudoku Jigsaw</b><br><br>
380
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_jigsaw_solved.png" alt="Sudoku Jigsaw" width="140">
380
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_jigsaw_solved.png" alt="Sudoku Jigsaw" width="140">
381
381
  </a>
382
382
  </td>
383
383
  <td align="center">
384
384
  <a href="#sudoku-killer-puzzle-type-53"><b>Sudoku Killer</b><br><br>
385
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_killer_solved.png" alt="Sudoku Killer" width="140">
385
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_killer_solved.png" alt="Sudoku Killer" width="140">
386
386
  </a>
387
387
  </td>
388
388
  <td align="center">
389
389
  <a href="#flood-it-puzzle-type-54"><b>Flood It</b><br><br>
390
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/flood_it_unsolved.png" alt="Flood It" width="140">
390
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/flood_it_unsolved.png" alt="Flood It" width="140">
391
391
  </a>
392
392
  </td>
393
393
  <td align="center">
394
394
  <a href="#pipes-puzzle-type-55"><b>Pipes</b><br><br>
395
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/pipes_solved.png" alt="Pipes" width="140">
395
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/pipes_solved.png" alt="Pipes" width="140">
396
396
  </a>
397
397
  </td>
398
398
  </tr>
399
399
  <tr>
400
400
  <td align="center">
401
401
  <a href="#connect-the-dots-puzzle-type-56"><b>Connect the Dots</b><br><br>
402
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/connect_the_dots_solved.png" alt="Connect the Dots" width="140">
402
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/connect_the_dots_solved.png" alt="Connect the Dots" width="140">
403
403
  </a>
404
404
  </td>
405
405
  <td align="center">
406
406
  <a href="#nonograms-colored-puzzle-type-57"><b>Nonograms Colored</b><br><br>
407
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nonograms_colored_solved.png" alt="Nonograms Colored" width="140">
407
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nonograms_colored_solved.png" alt="Nonograms Colored" width="140">
408
+ </a>
409
+ </td>
410
+ <td align="center">
411
+ <a href="#abc-view-puzzle-type-58"><b>ABC View</b><br><br>
412
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/abc_view_solved.png" alt="ABC View" width="140">
413
+ </a>
414
+ </td>
415
+ <td align="center">
416
+ <a href="#mathema-grids-puzzle-type-59"><b>Mathema Grids</b><br><br>
417
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/mathema_grids_solved.png" alt="Mathema Grids" width="140">
408
418
  </a>
409
419
  </td>
410
420
  </tr>
@@ -479,6 +489,8 @@ These are all the puzzles that are implemented in this repo. <br> Click on any o
479
489
  - [Pipes (Puzzle Type #55)](#pipes-puzzle-type-55)
480
490
  - [Connect the Dots (Puzzle Type #56)](#connect-the-dots-puzzle-type-56)
481
491
  - [Nonograms Colored (Puzzle Type #57)](#nonograms-colored-puzzle-type-57)
492
+ - [ABC View (Puzzle Type #58)](#abc-view-puzzle-type-58)
493
+ - [Mathema Grids (Puzzle Type #59)](#mathema-grids-puzzle-type-59)
482
494
  - [Why SAT / CP-SAT?](#why-sat--cp-sat)
483
495
  - [Testing](#testing)
484
496
  - [Contributing](#contributing)
@@ -492,7 +504,7 @@ The puzzles that have solvers implemented are listed below. Each puzzle has a si
492
504
 
493
505
  ## Nonograms (Puzzle Type #1)
494
506
 
495
- Also known as Hanjie, Paint by Numbers, Griddlers, Pic-a-Pix, Picross, and Pattern.
507
+ Also known as Nonogrids, Numbergrids, or Picross.
496
508
 
497
509
  * [**Play online**](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/pattern.html)
498
510
 
@@ -507,7 +519,7 @@ You have a grid of squares, which must all be filled in either black or white. B
507
519
 
508
520
  **Unsolved puzzle**
509
521
 
510
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nonogram_unsolved.png" alt="Nonogram unsolved" width="500">
522
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nonogram_unsolved.png" alt="Nonogram unsolved" width="500">
511
523
 
512
524
  Code to utilize this package and solve the puzzle:
513
525
  ```python
@@ -592,7 +604,7 @@ Time taken: 0.04 seconds
592
604
 
593
605
  **Solved puzzle**
594
606
 
595
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nonogram_solved.png" alt="Nonogram solved" width="500">
607
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nonogram_solved.png" alt="Nonogram solved" width="500">
596
608
 
597
609
  ---
598
610
 
@@ -619,7 +631,7 @@ You are given some of the numbers as clues; your aim is to place the rest of the
619
631
 
620
632
  **Unsolved puzzle**
621
633
 
622
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_unsolved.png" alt="Sudoku unsolved" width="500">
634
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_unsolved.png" alt="Sudoku unsolved" width="500">
623
635
 
624
636
  Code to utilize this package and solve the puzzle:
625
637
 
@@ -702,7 +714,7 @@ Time taken: 0.04 seconds
702
714
 
703
715
  **Solved puzzle**
704
716
 
705
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_solved.png" alt="Sudoku solved" width="500">
717
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_solved.png" alt="Sudoku solved" width="500">
706
718
 
707
719
  ---
708
720
 
@@ -733,7 +745,7 @@ This version of it has an unusual property. By default, it will generate its min
733
745
 
734
746
  **Partially solved puzzle**
735
747
 
736
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/minesweeper_pre.png" alt="Minesweeper partially solved" width="500">
748
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/minesweeper_pre.png" alt="Minesweeper partially solved" width="500">
737
749
 
738
750
  Code to utilize this package and solve the puzzle:
739
751
  ```python
@@ -780,7 +792,7 @@ Time taken: 0.92 seconds
780
792
 
781
793
  **Progressed puzzle**
782
794
 
783
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/minesweeper_post.png" alt="Minesweeper progressed" width="500">
795
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/minesweeper_post.png" alt="Minesweeper progressed" width="500">
784
796
 
785
797
  ---
786
798
 
@@ -801,7 +813,7 @@ Your task is to reconstruct the pattern by arranging the set of dominoes to matc
801
813
 
802
814
  **Unsolved puzzle**
803
815
 
804
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/dominosa_unsolved.png" alt="Dominosa unsolved" width="500">
816
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/dominosa_unsolved.png" alt="Dominosa unsolved" width="500">
805
817
 
806
818
  Code to utilize this package and solve the puzzle:
807
819
  ```python
@@ -843,7 +855,7 @@ Time taken: 0.02 seconds
843
855
 
844
856
  **Solved puzzle**
845
857
 
846
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/dominosa_solved.png" alt="Dominosa solved" width="500">
858
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/dominosa_solved.png" alt="Dominosa solved" width="500">
847
859
 
848
860
  ---
849
861
 
@@ -874,7 +886,7 @@ Non-numbered black squares may have any number of lights adjacent to them.
874
886
 
875
887
  **Unsolved puzzle**
876
888
 
877
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/lightup_unsolved.png" alt="Light Up unsolved" width="500">
889
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/lightup_unsolved.png" alt="Light Up unsolved" width="500">
878
890
 
879
891
  Code to utilize this package and solve the puzzle:
880
892
  ```python
@@ -918,7 +930,7 @@ Time taken: 0.01 seconds
918
930
 
919
931
  Which exactly matches the true solutions (Remember, the goal of the puzzle is to find where to place the lights, marked as 'L' in the solution above):
920
932
 
921
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/lightup_solved.png" alt="Light Up solved" width="500">
933
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/lightup_solved.png" alt="Light Up solved" width="500">
922
934
 
923
935
  ---
924
936
 
@@ -942,7 +954,7 @@ You have a grid of squares, some of which contain trees. Your aim is to place te
942
954
 
943
955
  **Unsolved puzzle**
944
956
 
945
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tents_unsolved.png" alt="Tents unsolved" width="500">
957
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tents_unsolved.png" alt="Tents unsolved" width="500">
946
958
 
947
959
  Code to utilize this package and solve the puzzle:
948
960
  ```python
@@ -1017,7 +1029,7 @@ Time taken: 0.01 seconds
1017
1029
 
1018
1030
  **Solved puzzle**
1019
1031
 
1020
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tents_solved.png" alt="Tents solved" width="500">
1032
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tents_solved.png" alt="Tents solved" width="500">
1021
1033
 
1022
1034
  ---
1023
1035
 
@@ -1044,7 +1056,7 @@ Note: It may take a few seconds for the model to be built.
1044
1056
 
1045
1057
  **Unsolved puzzle**
1046
1058
 
1047
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/filling_unsolved.png" alt="Filling unsolved" width="500">
1059
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/filling_unsolved.png" alt="Filling unsolved" width="500">
1048
1060
 
1049
1061
  Code to utilize this package and solve the puzzle:
1050
1062
  ```python
@@ -1087,13 +1099,13 @@ Time taken: 0.15 seconds
1087
1099
 
1088
1100
  **Solved puzzle**
1089
1101
 
1090
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/filling_solved.png" alt="Filling solved" width="500">
1102
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/filling_solved.png" alt="Filling solved" width="500">
1091
1103
 
1092
1104
  ---
1093
1105
 
1094
1106
  ## Keen (Puzzle Type #8)
1095
1107
 
1096
- Also known as KenKen
1108
+ Also known as KenKen or CalcuDoku.
1097
1109
 
1098
1110
  * [**Play online**](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/keen.html)
1099
1111
 
@@ -1118,7 +1130,7 @@ You have a square grid; each square may contain a digit from 1 to the size of th
1118
1130
 
1119
1131
  **Unsolved puzzle**
1120
1132
 
1121
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/keen_unsolved.png" alt="Keen unsolved" width="500">
1133
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/keen_unsolved.png" alt="Keen unsolved" width="500">
1122
1134
 
1123
1135
  Code to utilize this package and solve the puzzle:
1124
1136
  ```python
@@ -1169,12 +1181,14 @@ Time taken: 0.02 seconds
1169
1181
 
1170
1182
  **Solved puzzle**
1171
1183
 
1172
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/keen_solved.png" alt="Keen solved" width="500">
1184
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/keen_solved.png" alt="Keen solved" width="500">
1173
1185
 
1174
1186
  ---
1175
1187
 
1176
1188
  ## Towers (Puzzle Type #9)
1177
1189
 
1190
+ Also known as Skyscrapers.
1191
+
1178
1192
  * [**Play online**](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/towers.html)
1179
1193
 
1180
1194
  * [**Instructions**](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/doc/towers.html#towers)
@@ -1196,7 +1210,7 @@ In harder or larger puzzles, some towers will be specified for you as well as th
1196
1210
 
1197
1211
  **Unsolved puzzle**
1198
1212
 
1199
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/towers_unsolved.png" alt="Towers unsolved" width="500">
1213
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/towers_unsolved.png" alt="Towers unsolved" width="500">
1200
1214
 
1201
1215
  Code to utilize this package and solve the puzzle:
1202
1216
  ```python
@@ -1233,7 +1247,7 @@ Time taken: 0.03 seconds
1233
1247
 
1234
1248
  **Solved puzzle**
1235
1249
 
1236
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/towers_solved.png" alt="Towers solved" width="500">
1250
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/towers_solved.png" alt="Towers solved" width="500">
1237
1251
 
1238
1252
  ---
1239
1253
 
@@ -1260,7 +1274,7 @@ You have a grid of white squares, all of which contain numbers. Your task is to
1260
1274
 
1261
1275
  **Unsolved puzzle**
1262
1276
 
1263
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/singles_unsolved.png" alt="Singles unsolved" width="500">
1277
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/singles_unsolved.png" alt="Singles unsolved" width="500">
1264
1278
 
1265
1279
  Code to utilize this package and solve the puzzle:
1266
1280
  ```python
@@ -1322,7 +1336,7 @@ Time taken: 0.04 seconds
1322
1336
 
1323
1337
  **Solved puzzle**
1324
1338
 
1325
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/singles_solved.png" alt="Singles solved" width="500">
1339
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/singles_solved.png" alt="Singles solved" width="500">
1326
1340
 
1327
1341
  ---
1328
1342
 
@@ -1343,7 +1357,7 @@ Your aim is to correctly place the magnets and blank dominoes such that all the
1343
1357
 
1344
1358
  **Unsolved puzzle**
1345
1359
 
1346
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/magnets_unsolved.png" alt="Magnets unsolved" width="500">
1360
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/magnets_unsolved.png" alt="Magnets unsolved" width="500">
1347
1361
 
1348
1362
  Code to utilize this package and solve the puzzle:
1349
1363
  ```python
@@ -1387,7 +1401,7 @@ Time taken: 0.02 seconds
1387
1401
 
1388
1402
  **Solved puzzle**
1389
1403
 
1390
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/magnets_solved.png" alt="Magnets solved" width="500">
1404
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/magnets_solved.png" alt="Magnets solved" width="500">
1391
1405
 
1392
1406
 
1393
1407
  ---
@@ -1409,7 +1423,7 @@ By convention the first and last numbers are shown; one or more interim numbers
1409
1423
 
1410
1424
  **Unsolved puzzle**
1411
1425
 
1412
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/signpost_unsolved.png" alt="Signpost unsolved" width="500">
1426
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/signpost_unsolved.png" alt="Signpost unsolved" width="500">
1413
1427
 
1414
1428
  Code to utilize this package and solve the puzzle:
1415
1429
  ```python
@@ -1455,7 +1469,7 @@ Time taken: 0.03 seconds
1455
1469
 
1456
1470
  **Solved puzzle**
1457
1471
 
1458
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/signpost_solved.png" alt="Signpost solved" width="500">
1472
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/signpost_solved.png" alt="Signpost solved" width="500">
1459
1473
 
1460
1474
 
1461
1475
  ---
@@ -1486,7 +1500,7 @@ For instance, a square containing the number one must have four black squares as
1486
1500
 
1487
1501
  **Unsolved puzzle**
1488
1502
 
1489
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/range_unsolved.png" alt="Range unsolved" width="500">
1503
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/range_unsolved.png" alt="Range unsolved" width="500">
1490
1504
 
1491
1505
  Code to utilize this package and solve the puzzle:
1492
1506
  ```python
@@ -1543,7 +1557,7 @@ Time taken: 0.07 seconds
1543
1557
 
1544
1558
  **Solved puzzle**
1545
1559
 
1546
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/range_solved.png" alt="Range solved" width="500">
1560
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/range_solved.png" alt="Range solved" width="500">
1547
1561
 
1548
1562
  ---
1549
1563
 
@@ -1566,7 +1580,7 @@ You are also told the total number of each type of monster in the grid. Also aro
1566
1580
 
1567
1581
  **Unsolved puzzle**
1568
1582
 
1569
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/undead_unsolved.png" alt="UnDead unsolved" width="500">
1583
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/undead_unsolved.png" alt="UnDead unsolved" width="500">
1570
1584
 
1571
1585
  Code to utilize this package and solve the puzzle:
1572
1586
  ```python
@@ -1608,12 +1622,14 @@ Time taken: 0.01 seconds
1608
1622
 
1609
1623
  **Solved puzzle**
1610
1624
 
1611
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/undead_solved.png" alt="UnDead solved" width="500">
1625
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/undead_solved.png" alt="UnDead solved" width="500">
1612
1626
 
1613
1627
  ---
1614
1628
 
1615
1629
  ## Unruly (Puzzle Type #15)
1616
1630
 
1631
+ Also known as "3-In-A-Row".
1632
+
1617
1633
  * [**Play online**](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/unruly.html)
1618
1634
 
1619
1635
  * [**Instructions**](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/doc/unruly.html#unruly)
@@ -1627,7 +1643,7 @@ You are given a grid of squares, which you must colour either black or white. So
1627
1643
 
1628
1644
  **Unsolved puzzle**
1629
1645
 
1630
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/unruly_unsolved.png" alt="Unruly unsolved" width="500">
1646
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/unruly_unsolved.png" alt="Unruly unsolved" width="500">
1631
1647
 
1632
1648
  Code to utilize this package and solve the puzzle:
1633
1649
  ```python
@@ -1693,7 +1709,7 @@ Time taken: 0.02 seconds
1693
1709
 
1694
1710
  **Solved puzzle**
1695
1711
 
1696
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/unruly_solved.png" alt="Unruly solved" width="500">
1712
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/unruly_solved.png" alt="Unruly solved" width="500">
1697
1713
 
1698
1714
  ---
1699
1715
 
@@ -1713,7 +1729,7 @@ Complete the track from A to B so that the rows and columns contain the same num
1713
1729
 
1714
1730
  **Unsolved puzzle**
1715
1731
 
1716
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tracks_unsolved.png" alt="Tracks unsolved" width="500">
1732
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tracks_unsolved.png" alt="Tracks unsolved" width="500">
1717
1733
 
1718
1734
  Code to utilize this package and solve the puzzle:
1719
1735
  ```python
@@ -1784,7 +1800,7 @@ Time taken: 1.01 seconds
1784
1800
 
1785
1801
  **Solved puzzle**
1786
1802
 
1787
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tracks_solved.png" alt="Tracks solved" width="500">
1803
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tracks_solved.png" alt="Tracks solved" width="500">
1788
1804
 
1789
1805
  ---
1790
1806
 
@@ -1805,7 +1821,7 @@ Some squares contain clue numbers. Each clue tells you the number of black squar
1805
1821
 
1806
1822
  **Unsolved puzzle**
1807
1823
 
1808
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/mosaic_unsolved.png" alt="Mosaic unsolved" width="500">
1824
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/mosaic_unsolved.png" alt="Mosaic unsolved" width="500">
1809
1825
 
1810
1826
  Code to utilize this package and solve the puzzle:
1811
1827
  ```python
@@ -1874,7 +1890,7 @@ Time taken: 0.02 seconds
1874
1890
 
1875
1891
  **Solved puzzle**
1876
1892
 
1877
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/mosaic_solved.png" alt="Mosaic solved" width="500">
1893
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/mosaic_solved.png" alt="Mosaic solved" width="500">
1878
1894
 
1879
1895
  ---
1880
1896
 
@@ -1895,7 +1911,7 @@ Only regions which share a length of border are required to be different colours
1895
1911
 
1896
1912
  **Unsolved puzzle**
1897
1913
 
1898
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/map_unsolved.png" alt="Map unsolved" width="500">
1914
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/map_unsolved.png" alt="Map unsolved" width="500">
1899
1915
 
1900
1916
  Code to utilize this package and solve the puzzle:
1901
1917
  ```python
@@ -1934,7 +1950,7 @@ Time taken: 0.01 seconds
1934
1950
 
1935
1951
  **Solved puzzle**
1936
1952
 
1937
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/map_solved.png" alt="Map solved" width="500">
1953
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/map_solved.png" alt="Map solved" width="500">
1938
1954
 
1939
1955
  ---
1940
1956
 
@@ -1963,7 +1979,7 @@ A white circle indicates that the square is a straight edge, but at least one of
1963
1979
 
1964
1980
  **Unsolved puzzle**
1965
1981
 
1966
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/pearl_unsolved.png" alt="Pearl unsolved" width="500">
1982
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/pearl_unsolved.png" alt="Pearl unsolved" width="500">
1967
1983
 
1968
1984
  Code to utilize this package and solve the puzzle:
1969
1985
  ```python
@@ -2011,7 +2027,7 @@ Time taken: 0.12 seconds
2011
2027
 
2012
2028
  **Solved puzzle**
2013
2029
 
2014
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/pearl_solved.png" alt="Pearl solved" width="500">
2030
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/pearl_solved.png" alt="Pearl solved" width="500">
2015
2031
 
2016
2032
  ---
2017
2033
 
@@ -2040,7 +2056,7 @@ There are some configurable alternative modes, which involve changing the parall
2040
2056
 
2041
2057
  **Unsolved puzzle**
2042
2058
 
2043
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/bridges_unsolved.png" alt="Bridges unsolved" width="500">
2059
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/bridges_unsolved.png" alt="Bridges unsolved" width="500">
2044
2060
 
2045
2061
  Code to utilize this package and solve the puzzle:
2046
2062
  ```python
@@ -2108,7 +2124,7 @@ Time taken: 0.01 seconds
2108
2124
 
2109
2125
  **Solved puzzle**
2110
2126
 
2111
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/bridges_solved.png" alt="Bridges solved" width="500">
2127
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/bridges_solved.png" alt="Bridges solved" width="500">
2112
2128
 
2113
2129
  ---
2114
2130
 
@@ -2144,7 +2160,7 @@ Running into a mine is fatal. Even if you picked up the last gem in the same mov
2144
2160
 
2145
2161
  **Unsolved puzzle**
2146
2162
 
2147
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/inertia_unsolved.png" alt="Inertia unsolved" width="500">
2163
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/inertia_unsolved.png" alt="Inertia unsolved" width="500">
2148
2164
 
2149
2165
  Code to utilize this package and solve the puzzle:
2150
2166
 
@@ -2197,7 +2213,7 @@ Time taken: 13.92 seconds
2197
2213
 
2198
2214
  This picture won't mean much as the game is about the sequence of moves not the final frame as shown here.
2199
2215
 
2200
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/inertia_solved.png" alt="Inertia solved" width="500">
2216
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/inertia_solved.png" alt="Inertia solved" width="500">
2201
2217
 
2202
2218
  ---
2203
2219
 
@@ -2288,7 +2304,7 @@ Below is an example of how to utilize the solver while in the middle of a puzzle
2288
2304
 
2289
2305
  Let's say we start and made two guesses to end up with the following puzzle:
2290
2306
 
2291
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/guess_1.png" alt="Guess Pre Move" width="500">
2307
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/guess_1.png" alt="Guess Pre Move" width="500">
2292
2308
 
2293
2309
  Code to utilize this package and solve the puzzle:
2294
2310
 
@@ -2315,7 +2331,7 @@ max entropy guess is: ['P', 'Y', 'Y', 'G'] with entropy 3.4511
2315
2331
 
2316
2332
  So we make our next guess as (Purple, Yellow, Yellow, Green) and let's say we get this result: (2 black, 1 white, 1 grey)
2317
2333
 
2318
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/guess_2.png" alt="Guess Post 1 Move" width="500">
2334
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/guess_2.png" alt="Guess Post 1 Move" width="500">
2319
2335
 
2320
2336
  So we input that again to the solver to retreive the next optimal guess:
2321
2337
 
@@ -2339,7 +2355,7 @@ So we make our fourth guess as (Green, Yellow, Yellow, Orange)
2339
2355
 
2340
2356
  When we input the guess, we see that we correctly solve the puzzle!
2341
2357
 
2342
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/guess_3.png" alt="Guess Post 2 Moves" width="500">
2358
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/guess_3.png" alt="Guess Post 2 Moves" width="500">
2343
2359
 
2344
2360
  Note that in this case, the correct guess was among multiple possible guesses
2345
2361
 
@@ -2367,7 +2383,7 @@ You are given a chess board with $N$ pieces distributed on it. Your aim is to ma
2367
2383
 
2368
2384
  **Unsolved puzzle**
2369
2385
 
2370
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_range_unsolved.png" alt="Chess range unsolved" width="500">
2386
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_range_unsolved.png" alt="Chess range unsolved" width="500">
2371
2387
 
2372
2388
  Code to utilize this package and solve the puzzle:
2373
2389
 
@@ -2394,7 +2410,7 @@ Time taken: 1.16 seconds
2394
2410
 
2395
2411
  **Solved puzzle**
2396
2412
 
2397
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_range_solved.png" alt="Chess range solved" width="500">
2413
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_range_solved.png" alt="Chess range solved" width="500">
2398
2414
 
2399
2415
  ---
2400
2416
 
@@ -2419,7 +2435,7 @@ You are given a chess board with $N$ pieces distributed on it. Your aim is to ma
2419
2435
 
2420
2436
  **Unsolved puzzle**
2421
2437
 
2422
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_solo_unsolved.png" alt="Chess solo unsolved" width="500">
2438
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_solo_unsolved.png" alt="Chess solo unsolved" width="500">
2423
2439
 
2424
2440
  Code to utilize this package and solve the puzzle:
2425
2441
 
@@ -2446,7 +2462,7 @@ Time taken: 0.47 seconds
2446
2462
 
2447
2463
  **Solved puzzle**
2448
2464
 
2449
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_solo_solved.png" alt="Chess solo solved" width="500">
2465
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_solo_solved.png" alt="Chess solo solved" width="500">
2450
2466
 
2451
2467
  ---
2452
2468
 
@@ -2470,7 +2486,7 @@ You are given a chess board with $N$ pieces distributed on it (equal white and b
2470
2486
 
2471
2487
  **Unsolved puzzle**
2472
2488
 
2473
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_melee_unsolved.png" alt="Chess melee unsolved" width="500">
2489
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_melee_unsolved.png" alt="Chess melee unsolved" width="500">
2474
2490
 
2475
2491
  Code to utilize this package and solve the puzzle:
2476
2492
 
@@ -2498,7 +2514,7 @@ Time taken: 6.24 seconds
2498
2514
 
2499
2515
  **Solved puzzle**
2500
2516
 
2501
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/chess_melee_solved.png" alt="Chess melee solved" width="500">
2517
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/chess_melee_solved.png" alt="Chess melee solved" width="500">
2502
2518
 
2503
2519
  ---
2504
2520
 
@@ -2519,7 +2535,7 @@ The numbers outside the grid show the number of filled cells horizontally and ve
2519
2535
 
2520
2536
  **Unsolved puzzle**
2521
2537
 
2522
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/thermometers_unsolved.png" alt="Thermometers unsolved" width="500">
2538
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/thermometers_unsolved.png" alt="Thermometers unsolved" width="500">
2523
2539
 
2524
2540
  Code to utilize this package and solve the puzzle:
2525
2541
 
@@ -2574,7 +2590,7 @@ Time taken: 0.01 seconds
2574
2590
 
2575
2591
  **Solved puzzle**
2576
2592
 
2577
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/thermometers_solved.png" alt="Thermometers solved" width="500">
2593
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/thermometers_solved.png" alt="Thermometers solved" width="500">
2578
2594
 
2579
2595
  ---
2580
2596
 
@@ -2599,7 +2615,7 @@ The numbers outside the grid show the number of filled cells horizontally and ve
2599
2615
 
2600
2616
  **Unsolved puzzle**
2601
2617
 
2602
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/aquarium_unsolved.png" alt="Aquarium unsolved" width="500">
2618
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/aquarium_unsolved.png" alt="Aquarium unsolved" width="500">
2603
2619
 
2604
2620
  Code to utilize this package and solve the puzzle:
2605
2621
 
@@ -2672,7 +2688,7 @@ Time taken: 0.02 seconds
2672
2688
 
2673
2689
  **Solved puzzle**
2674
2690
 
2675
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/aquarium_solved.png" alt="Aquarium solved" width="500">
2691
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/aquarium_solved.png" alt="Aquarium solved" width="500">
2676
2692
 
2677
2693
  ---
2678
2694
 
@@ -2695,7 +2711,7 @@ Time taken: 0.02 seconds
2695
2711
 
2696
2712
  **Unsolved puzzle**
2697
2713
 
2698
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/stitches_unsolved.png" alt="Stitches unsolved" width="500">
2714
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/stitches_unsolved.png" alt="Stitches unsolved" width="500">
2699
2715
 
2700
2716
  Code to utilize this package and solve the puzzle:
2701
2717
 
@@ -2771,7 +2787,7 @@ Time taken: 0.01 seconds
2771
2787
 
2772
2788
  **Solved puzzle**
2773
2789
 
2774
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/stitches_solved.png" alt="Stitches solved" width="500">
2790
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/stitches_solved.png" alt="Stitches solved" width="500">
2775
2791
 
2776
2792
  ---
2777
2793
 
@@ -2794,7 +2810,7 @@ Time taken: 0.01 seconds
2794
2810
 
2795
2811
  **Unsolved puzzle**
2796
2812
 
2797
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/battleships_unsolved.png" alt="Battleships unsolved" width="500">
2813
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/battleships_unsolved.png" alt="Battleships unsolved" width="500">
2798
2814
 
2799
2815
  Code to utilize this package and solve the puzzle:
2800
2816
 
@@ -2871,7 +2887,7 @@ Solution found
2871
2887
 
2872
2888
  **Solved puzzle**
2873
2889
 
2874
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/battleships_solved.png" alt="Battleships solved" width="500">
2890
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/battleships_solved.png" alt="Battleships solved" width="500">
2875
2891
 
2876
2892
  ---
2877
2893
 
@@ -2896,7 +2912,7 @@ The goal is to make some of the cells black in such a way that:
2896
2912
 
2897
2913
  **Unsolved puzzle**
2898
2914
 
2899
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/kakurasu_unsolved.png" alt="Kakurasu unsolved" width="500">
2915
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/kakurasu_unsolved.png" alt="Kakurasu unsolved" width="500">
2900
2916
 
2901
2917
  Code to utilize this package and solve the puzzle:
2902
2918
 
@@ -2948,7 +2964,7 @@ Time taken: 0.00 seconds
2948
2964
 
2949
2965
  **Solved puzzle**
2950
2966
 
2951
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/kakurasu_solved.png" alt="Kakurasu solved" width="500">
2967
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/kakurasu_solved.png" alt="Kakurasu solved" width="500">
2952
2968
 
2953
2969
  ---
2954
2970
 
@@ -2970,7 +2986,7 @@ Time taken: 0.00 seconds
2970
2986
 
2971
2987
  **Unsolved puzzle**
2972
2988
 
2973
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/star_battle_unsolved.png" alt="Star Battle unsolved" width="500">
2989
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/star_battle_unsolved.png" alt="Star Battle unsolved" width="500">
2974
2990
 
2975
2991
  Code to utilize this package and solve the puzzle:
2976
2992
 
@@ -3075,7 +3091,7 @@ Time taken: 0.39 seconds
3075
3091
 
3076
3092
  **Solved puzzle**
3077
3093
 
3078
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/star_battle_solved.png" alt="Star Battle solved" width="500">
3094
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/star_battle_solved.png" alt="Star Battle solved" width="500">
3079
3095
 
3080
3096
  ---
3081
3097
 
@@ -3098,7 +3114,7 @@ Time taken: 0.39 seconds
3098
3114
 
3099
3115
  **Unsolved puzzle**
3100
3116
 
3101
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/star_battle_shapeless_unsolved.png" alt="Star Battle Shapeless unsolved" width="500">
3117
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/star_battle_shapeless_unsolved.png" alt="Star Battle Shapeless unsolved" width="500">
3102
3118
 
3103
3119
  Code to utilize this package and solve the puzzle:
3104
3120
 
@@ -3158,7 +3174,7 @@ Time taken: 0.02 seconds
3158
3174
 
3159
3175
  **Solved puzzle**
3160
3176
 
3161
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/star_battle_shapeless_solved.png" alt="Star Battle Shapeless solved" width="500">
3177
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/star_battle_shapeless_solved.png" alt="Star Battle Shapeless solved" width="500">
3162
3178
 
3163
3179
  ---
3164
3180
 
@@ -3184,7 +3200,7 @@ Note: The solver is capable of solving variations where the puzzle pieces the ma
3184
3200
 
3185
3201
  **Unsolved puzzle**
3186
3202
 
3187
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/lits_unsolved.png" alt="Lits unsolved" width="500">
3203
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/lits_unsolved.png" alt="Lits unsolved" width="500">
3188
3204
 
3189
3205
  Code to utilize this package and solve the puzzle:
3190
3206
 
@@ -3271,7 +3287,7 @@ Time taken: 0.09 seconds
3271
3287
 
3272
3288
  **Solved puzzle**
3273
3289
 
3274
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/lits_solved.png" alt="Lits solved" width="500">
3290
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/lits_solved.png" alt="Lits solved" width="500">
3275
3291
 
3276
3292
  ---
3277
3293
 
@@ -3335,7 +3351,7 @@ Note: This puzzle is one of the very rare puzzles where CP-SAT is not a good fit
3335
3351
 
3336
3352
  **Unsolved puzzle**
3337
3353
 
3338
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/black_box_unsolved.png" alt="Black Box unsolved" width="500">
3354
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/black_box_unsolved.png" alt="Black Box unsolved" width="500">
3339
3355
 
3340
3356
  Code to utilize this package and solve the puzzle:
3341
3357
  ```python
@@ -3401,7 +3417,7 @@ Time taken: 24.53 seconds
3401
3417
 
3402
3418
  **Solved puzzle**
3403
3419
 
3404
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/black_box_solved.png" alt="Black Box solved" width="500">
3420
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/black_box_solved.png" alt="Black Box solved" width="500">
3405
3421
 
3406
3422
  ---
3407
3423
 
@@ -3424,7 +3440,7 @@ To enter your solution, you draw lines along the grid edges to mark the boundari
3424
3440
 
3425
3441
  **Unsolved puzzle**
3426
3442
 
3427
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/galaxies_unsolved.png" alt="Galaxies unsolved" width="500">
3443
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/galaxies_unsolved.png" alt="Galaxies unsolved" width="500">
3428
3444
 
3429
3445
  Code to utilize this package and solve the puzzle:
3430
3446
 
@@ -3501,7 +3517,7 @@ Time taken: 0.06 seconds
3501
3517
 
3502
3518
  Applying the solution to the puzzle visually:
3503
3519
 
3504
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/galaxies_solved.png" alt="Galaxies solved" width="500">
3520
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/galaxies_solved.png" alt="Galaxies solved" width="500">
3505
3521
 
3506
3522
  ---
3507
3523
 
@@ -3525,7 +3541,7 @@ You have a grid of squares. Your aim is to draw a diagonal line through each squ
3525
3541
 
3526
3542
  **Unsolved puzzle**
3527
3543
 
3528
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/slant_unsolved.png" alt="Slant unsolved" width="500">
3544
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/slant_unsolved.png" alt="Slant unsolved" width="500">
3529
3545
 
3530
3546
  Code to utilize this package and solve the puzzle:
3531
3547
 
@@ -3586,13 +3602,13 @@ Time taken: 0.06 seconds
3586
3602
 
3587
3603
  Applying the solution to the puzzle visually:
3588
3604
 
3589
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/slant_solved.png" alt="Slant solved" width="500">
3605
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/slant_solved.png" alt="Slant solved" width="500">
3590
3606
 
3591
3607
  ---
3592
3608
 
3593
3609
  ## Unequal (Puzzle Type #37)
3594
3610
 
3595
- Also called "Futoshiki" or Renzoku"
3611
+ Also called "Futoshiki", the "Adjacent" variant is also known as "Renzoku" or "Neighbours".
3596
3612
 
3597
3613
  * [**Play online 1**](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/unequal.html)
3598
3614
 
@@ -3625,7 +3641,7 @@ In 'Trivial' difficulty level (available via the 'Custom' game type selector), t
3625
3641
 
3626
3642
  **Unsolved puzzle**
3627
3643
 
3628
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/unequal_unsolved.png" alt="Unequal unsolved" width="500">
3644
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/unequal_unsolved.png" alt="Unequal unsolved" width="500">
3629
3645
 
3630
3646
  Code to utilize this package and solve the puzzle:
3631
3647
 
@@ -3683,7 +3699,7 @@ Time taken: 0.05 seconds
3683
3699
 
3684
3700
  Applying the solution to the puzzle visually:
3685
3701
 
3686
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/unequal_solved.png" alt="Unequal solved" width="500">
3702
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/unequal_solved.png" alt="Unequal solved" width="500">
3687
3703
 
3688
3704
  ---
3689
3705
 
@@ -3707,7 +3723,7 @@ You have to shade some of the cells in such a way that:
3707
3723
 
3708
3724
  **Unsolved puzzle**
3709
3725
 
3710
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/norinori_unsolved.png" alt="Norinori unsolved" width="500">
3726
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/norinori_unsolved.png" alt="Norinori unsolved" width="500">
3711
3727
 
3712
3728
  Code to utilize this package and solve the puzzle:
3713
3729
 
@@ -3795,7 +3811,7 @@ Time taken: 0.03 seconds
3795
3811
 
3796
3812
  Applying the solution to the puzzle visually:
3797
3813
 
3798
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/norinori_solved.png" alt="Norinori solved" width="500">
3814
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/norinori_solved.png" alt="Norinori solved" width="500">
3799
3815
 
3800
3816
  ---
3801
3817
 
@@ -3822,7 +3838,7 @@ A line forming a single loop without crossings or branches means that every corn
3822
3838
 
3823
3839
  **Unsolved puzzle**
3824
3840
 
3825
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/slitherlink_unsolved.png" alt="Slitherlink unsolved" width="500">
3841
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/slitherlink_unsolved.png" alt="Slitherlink unsolved" width="500">
3826
3842
 
3827
3843
  Code to utilize this package and solve the puzzle:
3828
3844
 
@@ -3910,7 +3926,7 @@ Time taken: 2.39 seconds
3910
3926
 
3911
3927
  Applying the solution to the puzzle visually:
3912
3928
 
3913
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/slitherlink_solved.png" alt="Slitherlink solved" width="500">
3929
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/slitherlink_solved.png" alt="Slitherlink solved" width="500">
3914
3930
 
3915
3931
  ---
3916
3932
 
@@ -3932,7 +3948,7 @@ Yin-Yang is played on a rectangular grid with no standard size. Some cells start
3932
3948
 
3933
3949
  **Unsolved puzzle**
3934
3950
 
3935
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/yin_yang_unsolved.png" alt="Yin-Yang unsolved" width="500">
3951
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/yin_yang_unsolved.png" alt="Yin-Yang unsolved" width="500">
3936
3952
 
3937
3953
  Code to utilize this package and solve the puzzle:
3938
3954
 
@@ -4021,7 +4037,7 @@ Time taken: 3.09 seconds
4021
4037
 
4022
4038
  Applying the solution to the puzzle visually:
4023
4039
 
4024
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/yin_yang_solved.png" alt="Yin-Yang solved" width="500">
4040
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/yin_yang_solved.png" alt="Yin-Yang solved" width="500">
4025
4041
 
4026
4042
  ---
4027
4043
 
@@ -4044,7 +4060,7 @@ Binairo is played on a rectangular grid with no standard size. Some cells start
4044
4060
 
4045
4061
  **Unsolved puzzle**
4046
4062
 
4047
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/binairo_unsolved.png" alt="Binairo unsolved" width="500">
4063
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/binairo_unsolved.png" alt="Binairo unsolved" width="500">
4048
4064
 
4049
4065
  Code to utilize this package and solve the puzzle:
4050
4066
 
@@ -4133,7 +4149,7 @@ Time taken: 0.02 seconds
4133
4149
 
4134
4150
  Applying the solution to the puzzle visually:
4135
4151
 
4136
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/binairo_solved.png" alt="Binairo solved" width="500">
4152
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/binairo_solved.png" alt="Binairo solved" width="500">
4137
4153
 
4138
4154
  ---
4139
4155
 
@@ -4160,7 +4176,7 @@ You have a grid of squares, with numbers written in some (but not all) of the sq
4160
4176
 
4161
4177
  **Unsolved puzzle**
4162
4178
 
4163
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/rectangles_unsolved.png" alt="Rectangles unsolved" width="500">
4179
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/rectangles_unsolved.png" alt="Rectangles unsolved" width="500">
4164
4180
 
4165
4181
  Code to utilize this package and solve the puzzle:
4166
4182
 
@@ -4246,7 +4262,7 @@ Time taken: 0.01 seconds
4246
4262
 
4247
4263
  Applying the solution to the puzzle visually:
4248
4264
 
4249
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/rectangles_solved.png" alt="Rectangles solved" width="500">
4265
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/rectangles_solved.png" alt="Rectangles solved" width="500">
4250
4266
 
4251
4267
  ---
4252
4268
 
@@ -4267,7 +4283,7 @@ You're given a grid of N squares and a region size M, some of which contain numb
4267
4283
 
4268
4284
  **Unsolved puzzle**
4269
4285
 
4270
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/palisade_unsolved.png" alt="Palisade unsolved" width="500">
4286
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/palisade_unsolved.png" alt="Palisade unsolved" width="500">
4271
4287
 
4272
4288
  Code to utilize this package and solve the puzzle:
4273
4289
 
@@ -4334,7 +4350,7 @@ Time taken: 11.94 seconds
4334
4350
 
4335
4351
  Applying the solution to the puzzle visually:
4336
4352
 
4337
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/palisade_solved.png" alt="Palisade solved" width="500">
4353
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/palisade_solved.png" alt="Palisade solved" width="500">
4338
4354
 
4339
4355
  ---
4340
4356
 
@@ -4355,7 +4371,7 @@ You have a grid of squares, some light and some dark. Your aim is to light all t
4355
4371
 
4356
4372
  **Unsolved puzzle**
4357
4373
 
4358
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/flip_unsolved.png" alt="Flip unsolved" width="500">
4374
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/flip_unsolved.png" alt="Flip unsolved" width="500">
4359
4375
 
4360
4376
  Code to utilize this package and solve the puzzle:
4361
4377
 
@@ -4398,7 +4414,7 @@ status: OPTIMAL
4398
4414
 
4399
4415
  This picture won't mean much as the game is about the sequence of moves not the final frame as shown here.
4400
4416
 
4401
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/flip_solved.png" alt="Flip solved" width="500">
4417
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/flip_solved.png" alt="Flip solved" width="500">
4402
4418
 
4403
4419
  ---
4404
4420
 
@@ -4427,7 +4443,7 @@ Read more about the history and methods behind nurikabe in the [Wikipedia nurika
4427
4443
 
4428
4444
  **Unsolved puzzle**
4429
4445
 
4430
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nurikabe_unsolved.png" alt="Nurikabe unsolved" width="500">
4446
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nurikabe_unsolved.png" alt="Nurikabe unsolved" width="500">
4431
4447
 
4432
4448
  Code to utilize this package and solve the puzzle:
4433
4449
 
@@ -4514,7 +4530,7 @@ Time taken: 1.62 seconds
4514
4530
 
4515
4531
  **Solved puzzle**
4516
4532
 
4517
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nurikabe_solved.png" alt="Nurikabe solved" width="500">
4533
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nurikabe_solved.png" alt="Nurikabe solved" width="500">
4518
4534
 
4519
4535
  ---
4520
4536
 
@@ -4537,7 +4553,7 @@ Time taken: 1.62 seconds
4537
4553
 
4538
4554
  **Unsolved puzzle**
4539
4555
 
4540
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/heyawake_unsolved.png" alt="Heyawake unsolved" width="500">
4556
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/heyawake_unsolved.png" alt="Heyawake unsolved" width="500">
4541
4557
 
4542
4558
  Code to utilize this package and solve the puzzle:
4543
4559
 
@@ -4580,57 +4596,57 @@ solutions = binst.solve_and_print()
4580
4596
 
4581
4597
  ```python
4582
4598
  Solution found
4583
- 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
4599
+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
4584
4600
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
4585
- ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
4586
- 0│ │ │▒▒▒│ │ 4 │▒▒▒│ 4 │▒▒▒│ 44 │▒▒▒│ 4 │▒▒▒│ 4 │ │▒▒▒│ │ │
4587
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4588
- 1│▒▒▒│ │ │▒▒▒│ │ │ │ │▒▒▒│ │ │ │ │▒▒▒│ │ │ │▒▒▒│ │
4589
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4590
- 2│ │ │▒▒▒│ │ │ │▒▒▒│ 2 │▒▒▒│ │▒▒▒│ │▒▒▒│ │▒▒▒│
4591
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4592
- 3│ │▒▒▒│ │▒▒▒│ │ │ │▒▒▒│ │▒▒▒│ │▒▒▒│ │▒▒▒│ │ │ │
4593
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4594
- 4│ │ │ │▒▒▒│ ││▒▒▒│ │▒▒▒│ │ │ │ │▒▒▒│ │ │ │▒▒▒│
4595
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4596
- 5│▒▒▒│ │ │ │▒▒▒│ │ │ │▒▒▒│ │ │▒▒▒│ 5 │▒▒▒│ │ │▒▒▒│ │
4597
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4598
- 6│ 3 │ │▒▒▒│ │ │ │▒▒▒│ │ │ │▒▒▒│ │ 5 │▒▒▒│ 5 │ │▒▒▒│ │ │
4599
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4600
- 7│▒▒▒││▒▒▒│ │ │ │ │▒▒▒│ │ │ │▒▒▒│ 5 │▒▒▒│ │ │▒▒▒│ │▒▒▒│
4601
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4602
- 8│ 3 │ │▒▒▒│ 3 │▒▒▒│ 3 │ │▒▒▒│ │▒▒▒│ 3 │▒▒▒│ │ │ │ │▒▒▒│ │ │ 2 │
4603
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4604
- 9│ 3 │▒▒▒│ │ 33 │▒▒▒│ │ │ 3 │▒▒▒│ 44 │▒▒▒│ 4 │▒▒▒│ 4 │ │▒▒▒│
4605
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4606
- 10│▒▒▒│ │ 3 │▒▒▒│ 3 │▒▒▒│ │▒▒▒│ 3 │▒▒▒│ 44 │▒▒▒│ 44 │ │▒▒▒│
4607
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4608
- 11│ │ │ │▒▒▒│ │ │ │ │▒▒▒│ 33 │ │▒▒▒│ │ │▒▒▒│ 2 │▒▒▒│ 2 │ 3 │
4609
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4610
- 12│ │ │▒▒▒│ 22 │▒▒▒│ 5 │▒▒▒│ 5 │ 33 │▒▒▒│ │ │ │ │▒▒▒│ 2 │ 2 │▒▒▒│
4611
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4612
- 13│ │▒▒▒│ │ 222 │▒▒▒│ 55 │▒▒▒│ 3 │ 22 │▒▒▒│ │▒▒▒│ │ 3 │
4613
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4614
- 14│ │ 1 │▒▒▒│ 22 │▒▒▒│ 5 │▒▒▒│ 5 │ 3 │▒▒▒│ 22 │ │▒▒▒│ │ │ │ │▒▒▒│
4615
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4616
- 15│▒▒▒│ 11 │ │▒▒▒│ │ 5 │ 55 │▒▒▒│ 3 │▒▒▒│ 2 │ 11 │▒▒▒│ │ │ 3 │
4617
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4618
- 16│ │ 1 │ 1 │▒▒▒│ │ │▒▒▒│ 5 │▒▒▒│ 33 │ 2 │▒▒▒│ 11 │ │▒▒▒│ │▒▒▒│ 3 │
4619
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4620
- 17│ │ 2 │▒▒▒│ 11 │ 1│▒▒▒│ │ │ │▒▒▒│ │▒▒▒│ 1 ││▒▒▒│ │ 3 │
4621
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4622
- 18│ │▒▒▒│ 2 │ 1 1 │▒▒▒│ │ │ │▒▒▒│ │ │ │ │▒▒▒│ 2 │ │▒▒▒│
4623
- ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
4624
- 19│ │ │ │ │▒▒▒│ │ │▒▒▒│ 2 │▒▒▒│ │ 2 │▒▒▒│ 2 │▒▒▒│ │ 2 │▒▒▒│ │ 3 │
4625
- └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
4601
+ ┌───┬───┬───┬───┬───────────────────────────────────────┬───────┬───────┬───────┐
4602
+ 0│ │ │▒▒▒│ │ 4 ▒▒▒ 4 ▒▒▒ 4 4 ▒▒▒ 4 ▒▒▒ 4 │ ▒▒▒│ 0 0
4603
+ │ ├───┤ │ ├───────┬───────────┬───────┬───────────┤ │ │ │
4604
+ 1│▒▒▒│ │ │▒▒▒│ 0 0 │▒▒▒ │▒▒▒ 0 0 │▒▒▒
4605
+ │ │ │ │ │ ├───────────┤ │ ├───────┴───┬───┴───┬───┤
4606
+ 2│ │ │▒▒▒│ │ 0 0 │▒▒▒ 2 ▒▒▒│ ▒▒▒ ▒▒▒ │▒▒▒ 0
4607
+ ├───┴───┴───┤ │ ├───────┬───┤ ├───────┬───┴───┬───────┤ │ │
4608
+ 3│ ▒▒▒ │▒▒▒│ 0 0 ▒▒▒│ │▒▒▒ │▒▒▒ ▒▒▒│ 0
4609
+ │ ├───┴───────┴───────┤ │ ├───────┤ ├───────┴───────┼───┤
4610
+ 4│ ▒▒▒ │▒▒▒│ ▒▒▒│ 0 0 │▒▒▒ │▒▒▒│
4611
+ ├───┬───────┤ ├───┴───┬───┼───┬───┴───────┤ │ │
4612
+ 5│▒▒▒│ ▒▒▒ ▒▒▒││▒▒▒ 5 ▒▒▒│ ▒▒▒│
4613
+ │ │ ├───┬───────┬───────┴───┬───┤ │ │ │ │ │
4614
+ 6│ 3 │ ▒▒▒│ 0 0 │▒▒▒ │ │▒▒▒│ │ 5 ▒▒▒ 5 │ ▒▒▒ │ │
4615
+ │ │ │ │ │ ├───┴───┤ │ │ ├───┤
4616
+ 7│▒▒▒│ │▒▒▒│ 0 0 ▒▒▒│ 0 0 │▒▒▒ 5 ▒▒▒│ ▒▒▒ │▒▒▒│
4617
+ │ │ ├───┴───────┼───────────┼───────┤ ├───────────┴───────┬───────┤ │
4618
+ 8│ 3 │ ▒▒▒│ 3 ▒▒▒ 3 │ ▒▒▒ │▒▒▒ 3 │▒▒▒│ ▒▒▒│ 0 0 │ 2 │
4619
+ │ │ │ │ │ ├───┴───────────────────┤ │ │
4620
+ 9│ 3 │▒▒▒ │ 3 3 ▒▒▒│ │ 3 ▒▒▒│ 4 4 ▒▒▒ 4 ▒▒▒ 4 │ 0 0 │▒▒▒│
4621
+ │ ├───────┤ ├───────┬───┤ │ ├───────┴───┤
4622
+ 10│▒▒▒│ 0 0 │ 3 ▒▒▒ 3 │▒▒▒ │▒▒▒ 3 │▒▒▒ 4 4 ▒▒▒ 4 4 │ ▒▒▒
4623
+ ├───┤ ├───────────┤ │ │ ├───┬───────────────┬───┴───────┬───┤
4624
+ 11│ │ 0 0 │▒▒▒ │▒▒▒│ 3 3 │ │▒▒▒ ▒▒▒│ 2 ▒▒▒ 2 │ 3 │
4625
+ │ ├───┬───┼───────────┼───────┴───┤ │ │ │ │ │
4626
+ 12│ │ │▒▒▒│ 2 2 ▒▒▒│ 5 ▒▒▒ 5 │ 3 3 │▒▒▒│ │▒▒▒ 2 2 │▒▒▒│
4627
+ │ │ ├───┤ │ ├───────┼───┴───┬───────┬───┴───────────┤ │
4628
+ 13│ │▒▒▒│ │ 2 2 2 │▒▒▒ 5 5 │▒▒▒ 3 │ 2 2 │▒▒▒ ▒▒▒ │ 3 │
4629
+ │ ├───┴───┤ │ │ │ │ │ │ │
4630
+ 14│ │ 1 ▒▒▒│ 2 2 ▒▒▒│ 5 ▒▒▒ 5 │ 3 ▒▒▒│ 2 2 │ ▒▒▒│ │▒▒▒│
4631
+ │ │ ├───────┬───┤ │ │ ├───────┤ │ │
4632
+ 15│▒▒▒│ 1 1 │ ▒▒▒│ 0 │ 5 5 5 │▒▒▒ 3 │▒▒▒ 2 │ 1 1 │▒▒▒ │ 3 │
4633
+ │ │ │ │ │ │ │ │ ├───────┬───┬───┤ │
4634
+ 16│ │ 1 1 │▒▒▒ 0 │▒▒▒ 5 ▒▒▒│ 3 3 │ 2 ▒▒▒│ 1 1 │ ▒▒▒│ │▒▒▒│ 3 │
4635
+ │ ├───────┼───────┴───┼───┬───────┴───┬───┼───────┤ │ │ ├───┤ │
4636
+ 17│ │ 2 ▒▒▒│ 1 1 10 │▒▒▒ │▒▒▒ │▒▒▒ 1 │ │▒▒▒│ │ 3 │
4637
+ │ │ │ │ │ │ ├───────┴───────┼───┬───┴───┤ │ │
4638
+ 18│ │▒▒▒ 2 │ 1 1 ▒▒▒│ 0 │▒▒▒│ │▒▒▒ 2 │ │▒▒▒│
4639
+ ├───┴───────┴───────────┴───┼───────────┤ ├───────────────┤ │ │ │ │
4640
+ 19│ ▒▒▒ │▒▒▒ 2 ▒▒▒│ │ 2 ▒▒▒ 2 ▒▒▒│ │ 2 ▒▒▒│ │ 3 │
4641
+ └───────────────────────────┴───────────┴───┴───────────────┴───┴───────┴───┴───┘
4626
4642
  Solutions found: 1
4627
4643
  status: OPTIMAL
4628
- Time taken: 38.04 seconds
4644
+ Time taken: 6.72 seconds
4629
4645
  ```
4630
4646
 
4631
4647
  **Solved puzzle**
4632
4648
 
4633
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/heyawake_solved.png" alt="Heyawake solved" width="500">
4649
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/heyawake_solved.png" alt="Heyawake solved" width="500">
4634
4650
 
4635
4651
  ---
4636
4652
 
@@ -4654,7 +4670,7 @@ You have to draw lines between the dots to form a single loop without crossings
4654
4670
 
4655
4671
  **Unsolved puzzle**
4656
4672
 
4657
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/shingoki_unsolved.png" alt="Shingoki unsolved" width="500">
4673
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/shingoki_unsolved.png" alt="Shingoki unsolved" width="500">
4658
4674
 
4659
4675
  Code to utilize this package and solve the puzzle:
4660
4676
 
@@ -4694,57 +4710,59 @@ Note that the solver is much slower for large puzzles like this example and take
4694
4710
 
4695
4711
  ```python
4696
4712
  Solution found
4697
- 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
4698
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
4699
- ┌───────────┐ ┌───────────────────────────┐ ┌───┐ ┌───┐
4700
- 0 . . . . . │ . . . │ . │ . . . . . . . │ . │ . │ . │ . │
4701
- ┌───────────────┐ └───┐ ┌───┘┌───────┐ ┌───────────┘ └───┘
4702
- 1│ . . . . . . │ . │ . . . │ . . │ . │ . . . . . . . │
4703
- └───┐ ┌───────┘ ┌───┘ └───┐ └───┐ └───┘ ┌───┐┌───┐
4704
- 2 . │ . │ . . . │ . . . . │ . . │ . . . . │ . │ . │ . │ . │ . │
4705
- ┌───┘ └───┐ └───────┐ │ │ ┌───┘ ┌───┐ ┌───┘ │ │ │ │ │
4706
- 3│ . . . . . . . . . │ . │ . . . │ . │ . . . │ . │ . │ . │
4707
- └───────┐ └───┐ ┌───────┘ │ │ │ ┌───┘ └───┘ ┌───┘ │ │ │ │
4708
- 4 . . │ . . │ . │ . . . . │ . │ . │ . . . . . . . . │ . │
4709
- ┌───────┘ ┌───┘ └───────┐ └───┘ └───┘ ┌───────┐ └───┘ │ │
4710
- 5│ . . . │ . . . . │ . . . . . . . . │ . . . . │ . │
4711
- └───┐ ┌───┘ ┌───┐ └───────────────────┘ └───────────┐ │ │
4712
- 6 . │ . │ . . . │ . │ . . . . . . . . . . . . . │ . │
4713
- ┌───┘ ┌───┘ └───────┐ ┌───────────┐ └───┐ ┌───────┘ │ │
4714
- 7│ . . │ . . │ . . . . │ . . │ . . . . . . │ . . . │ . │
4715
- ┌───┘ ┌───────┐ └───────┘ ┌───┐ ┌───┘ └───┐ │ │
4716
- 8 . │ . . . │ . │ . . │ . . . . . │ . │ . │ . . . . . . │
4717
- │ │ │ │ ┌───┘ ┌───────┐ │ │ │ ┌───┐ │ │ │
4718
- 9│ . . . . . . . . . . . . . . │ . │ . │ . │ . . . │
4719
- └───────────┘ │ │ ┌───┘ │ │ │ │ │ │ │ └───────┘
4720
- 10│ . . . . . . . . . . . │ . │ . │ . │ . │ . │ . . . .
4721
- └───────────┐ ┌───┘ │ │ │ │ │ │ │ │ └───────┐ ┌───┘
4722
- 11 . . . . . . │ . │ . . . . . . . . . . . │ . │ .
4723
- ┌───┐ └───┘ │ │ ┌───┐ │ │ │ └───┘ ┌───┐ │ │
4724
- 12│ . │ . . . . . . . . . . │ . │ . . . . . │ . │ . │ .
4725
- └───────┐ ┌───┘ │ │ │ │ │ └───┐ └───┘ │ │ └───┐
4726
- 13│ . . . │ . . . . . │ . │ . │ . │ . . . . . . . │ . . │
4727
- ┌───┐ └───────┘└───┘┌───┘ ┌───────┐ └───┐
4728
- 14│ . . │ . │ . . . . . . . . . │ . . │ . . . │ . . │ . │
4729
- │ │ │ └───────┐ ┌───┐ └───────────┘ └───┐ │ │ │ ┌───┘
4730
- 15│ . . │ . . . . │ . │ . . . . . . . │ . . │ . │ . │ . .
4731
- │ │ └───────┐ └───┘ ┌───┐ │ │ └───┘┌───┘
4732
- 16│ . . . . . . . │ . . │ . │ . . . . . . . . . │ .
4733
- │ │ ┌───┘ ┌───────┘ ┌───┘ └───────────┘ └───┐ ┌───┐ │ │
4734
- 17│ . │ . . │ . . │ . . . │ . . . . . . . │ . │ . │ . │ . │ .
4735
- └───┐ ┌───┘ ┌───┘ ┌───────────┐ ┌───────┘└───┘ └───┐
4736
- 18 . . │ . │ . │ . . . . . │ . . . │ . │ . . . . . . . │
4737
- └───┐ │ │ └───────────┘ ┌───┘ ┌───────┘ └───────┐ ┌───────┐
4738
- 19 . │ . │ . │ . . . . . . . │ . . . . . . │ . │ . . │ . │
4739
- └───┘ └───────────────────┘ └───────────────────┘ └───┘ └───┘
4713
+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2
4714
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
4715
+
4716
+ 0 . . . . . 4B───────────┐ ┌───────────────────────────┐ ┌───┐ ┌───┐
4717
+ │ │ │ │ │ │ │
4718
+ 1 ┌──────────────5B └───┐ 2B───┘ 3B───────┐ ┌──3W───────┘└──2B
4719
+ │ │ │ │ │
4720
+ 2 2B──2B ┌──2W───┘ ┌───┘ └───┐ 2B───┐ 2B───┘ . ┌──3B 5W ┌───┐ 11W
4721
+ │ │ │ │ │ │ │ │ │
4722
+ 3 ┌───┘ └───┐ . 3B──────3B ┌───┘ 2B───┐ ┌───┘ 3W │ │
4723
+ │ │ │ │ │ │ │ │ │
4724
+ 4 └──2W───┐ └──2B ┌──2W───┘ 3W 2W 2B──2B └───┘ ┌───┘ │ │ 8W
4725
+ │ │ │ │ │ │
4726
+ 5 ┌───────┘ ┌───┘ └───────┐ └──6B └───┘ ┌──────4B 2W . └───┘ │ │
4727
+ │ │ │ │ │ │
4728
+ 6 └───┐ ┌──2B . ┌───┐ └───────────────────┘ . 2W └──────────4B │ │
4729
+ │ │ │ │ │
4730
+ 7 ┌──2B 2W . ┌───┘ 3B───────┐ . ┌──3W───────┐ └───┐ ┌──────3B │ │
4731
+ │ │ │ │ │ │
4732
+ 8 4W 3B───┘ . 3W ┌───────┐ └──────3B ┌──6B┌───┘ 2B───┐ . │ │
4733
+ │ │ │ │ │ │ │ │ │ │
4734
+ 9 . . │ ┌───┘ ┌──2W──7B │ │ │ ┌───┐ . │ │
4735
+ │ │ │ │ │ │ │ │ │ │ │ │ │
4736
+ 10 └──────3W───┘ 3W 4W 5B───┘ . 5W 4W │ │ └──2W───┘
4737
+ │ │ │ │ │ │ │ │ │ │ │ │
4738
+ 11 7B───────────┐ ┌───┘ │ . . │ └───────┐ 3B───┘
4739
+ │ │ │ │ │ │ │ │ │
4740
+ 12 ┌───┐ . └──2B . 4W ┌───┐ └───┘ ┌──5B .
4741
+ │ │ │ │ │ │ │ │ │ │ │ │ │
4742
+ 13 └──2W───┐ . 2B───┘ 4W 3W │ │ │ └───┐ . 5B──2B 3W └───┐
4743
+ │ │ │ │ │ │
4744
+ 14 ┌───┐ │ . └───────┘ 3B───┘ 7W ┌──2B 5B───────┐└───┐
4745
+ │ │ │ │ │ │ │ │
4746
+ 15 │ │ └──────3B 2B───┐ └──────3W───┘ 2B───┐ . 2W┌───┘
4747
+ │ │ │ │ │ │ │ │
4748
+ 16 └──2W───┐ └───┘ │ . ┌───┐ . . │ │ . └───┘ 3B───┘
4749
+ │ │ │ │ │ │
4750
+ 17 4W . ┌──2B 3B───────┘ ┌──2B 4B───────────┘ └───┐ ┌───┐ 3W .
4751
+ │ │ │ │ │ │
4752
+ 18 7W └──3B┌──2B . ┌───┘ 4B───────────┐ ┌──2W──3B 2B───┘ └───┐
4753
+ │ │ │ │ │ │ │
4754
+ 19 └───┐ 3W └──3W───────┘ 2B───┘ ┌───────┘ └───────┐ 3W ┌──2W───┐
4755
+ │ │ │ │ │ │ │ │ │
4756
+ 20 . 2B───┘ └──────────5W───────┘ . └──5W──────────────6B └───┘ . └───┘
4757
+
4740
4758
  Solutions found: 1
4741
4759
  status: OPTIMAL
4742
- Time taken: 425.97 seconds
4760
+ Time taken: 72.80 seconds
4743
4761
  ```
4744
4762
 
4745
4763
  **Solved puzzle**
4746
4764
 
4747
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/shingoki_solved.png" alt="Shingoki solved" width="500">
4765
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/shingoki_solved.png" alt="Shingoki solved" width="500">
4748
4766
 
4749
4767
  ---
4750
4768
 
@@ -4773,7 +4791,7 @@ You are given a grid where some cells have numbers. Your goal is to shade some c
4773
4791
 
4774
4792
  **Unsolved puzzle**
4775
4793
 
4776
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tapa_unsolved.png" alt="Tapa unsolved" width="500">
4794
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tapa_unsolved.png" alt="Tapa unsolved" width="500">
4777
4795
 
4778
4796
  Code to utilize this package and solve the puzzle:
4779
4797
 
@@ -4864,7 +4882,7 @@ Time taken: 14.20 seconds
4864
4882
 
4865
4883
  **Solved puzzle**
4866
4884
 
4867
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/tapa_solved.png" alt="Tapa solved" width="500">
4885
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/tapa_solved.png" alt="Tapa solved" width="500">
4868
4886
 
4869
4887
  ---
4870
4888
 
@@ -4887,7 +4905,7 @@ Binairo+ is played on a rectangular grid with no standard size. Some cells start
4887
4905
 
4888
4906
  **Unsolved puzzle**
4889
4907
 
4890
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/binairo_plus_unsolved.png" alt="Binairo Plus unsolved" width="500">
4908
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/binairo_plus_unsolved.png" alt="Binairo Plus unsolved" width="500">
4891
4909
 
4892
4910
  Code to utilize this package and solve the puzzle:
4893
4911
 
@@ -4989,7 +5007,7 @@ Time taken: 0.00 seconds
4989
5007
 
4990
5008
  **Solved puzzle**
4991
5009
 
4992
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/binairo_plus_solved.png" alt="Binairo Plus solved" width="500">
5010
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/binairo_plus_solved.png" alt="Binairo Plus solved" width="500">
4993
5011
 
4994
5012
  ---
4995
5013
 
@@ -5015,7 +5033,7 @@ The objective is to place black triangles in the white cell in such a way so tha
5015
5033
 
5016
5034
  **Unsolved puzzle**
5017
5035
 
5018
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/shakashaka_unsolved.png" alt="Shakashaka unsolved" width="500">
5036
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/shakashaka_unsolved.png" alt="Shakashaka unsolved" width="500">
5019
5037
 
5020
5038
  Code to utilize this package and solve the puzzle:
5021
5039
 
@@ -5167,7 +5185,7 @@ Time taken: 0.36 seconds
5167
5185
 
5168
5186
  **Solved puzzle**
5169
5187
 
5170
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/shakashaka_solved.png" alt="Shakashaka solved" width="500">
5188
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/shakashaka_solved.png" alt="Shakashaka solved" width="500">
5171
5189
 
5172
5190
  ---
5173
5191
 
@@ -5189,7 +5207,7 @@ Kakuro is played on a rectangular grid by placing numbers in the white cells suc
5189
5207
 
5190
5208
  **Unsolved puzzle**
5191
5209
 
5192
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/kakuro_unsolved.png" alt="Kakuro unsolved" width="500">
5210
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/kakuro_unsolved.png" alt="Kakuro unsolved" width="500">
5193
5211
 
5194
5212
  Code to utilize this package and solve the puzzle:
5195
5213
 
@@ -5248,7 +5266,7 @@ Time taken: 0.00 seconds
5248
5266
 
5249
5267
  **Solved puzzle**
5250
5268
 
5251
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/kakuro_solved.png" alt="Kakuro solved" width="500">
5269
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/kakuro_solved.png" alt="Kakuro solved" width="500">
5252
5270
 
5253
5271
  ---
5254
5272
 
@@ -5268,7 +5286,7 @@ Time taken: 0.00 seconds
5268
5286
 
5269
5287
  **Unsolved puzzle**
5270
5288
 
5271
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_jigsaw_unsolved.png" alt="Sudoku Jigsaw unsolved" width="500">
5289
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_jigsaw_unsolved.png" alt="Sudoku Jigsaw unsolved" width="500">
5272
5290
 
5273
5291
  Code to utilize this package and solve the puzzle:
5274
5292
 
@@ -5335,7 +5353,7 @@ Time taken: 0.01 seconds
5335
5353
 
5336
5354
  **Solved puzzle**
5337
5355
 
5338
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_jigsaw_solved.png" alt="Sudoku Jigsaw solved" width="500">
5356
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_jigsaw_solved.png" alt="Sudoku Jigsaw solved" width="500">
5339
5357
 
5340
5358
  ---
5341
5359
 
@@ -5356,7 +5374,7 @@ Time taken: 0.01 seconds
5356
5374
 
5357
5375
  **Unsolved puzzle**
5358
5376
 
5359
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_killer_unsolved.png" alt="Sudoku Killer unsolved" width="500">
5377
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_killer_unsolved.png" alt="Sudoku Killer unsolved" width="500">
5360
5378
 
5361
5379
  Code to utilize this package and solve the puzzle:
5362
5380
 
@@ -5419,7 +5437,7 @@ Time taken: 0.02 seconds
5419
5437
 
5420
5438
  **Solved puzzle**
5421
5439
 
5422
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/sudoku_killer_solved.png" alt="Sudoku Killer solved" width="500">
5440
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/sudoku_killer_solved.png" alt="Sudoku Killer solved" width="500">
5423
5441
 
5424
5442
  ---
5425
5443
 
@@ -5448,7 +5466,7 @@ Finding an optimal solution for any graph is NP-hard.
5448
5466
 
5449
5467
  **Unsolved puzzle**
5450
5468
 
5451
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/flood_it_unsolved.png" alt="Flood It unsolved" width="500">
5469
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/flood_it_unsolved.png" alt="Flood It unsolved" width="500">
5452
5470
 
5453
5471
  Code to utilize this package and solve the puzzle:
5454
5472
 
@@ -5498,13 +5516,13 @@ This picture won't mean much as the game is about the sequence and number of mov
5498
5516
 
5499
5517
  Note that the solved solution on the bottom left says that only 18 moves were used (based on the above output) despite the website saying 20 total moves are permitted (and the puzzle settings specified 0 extra moves permitted). Thus the solver managed to find a more optimal solution than the website.
5500
5518
 
5501
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/flood_it_solved.png" alt="Flood It solved" width="500">
5519
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/flood_it_solved.png" alt="Flood It solved" width="500">
5502
5520
 
5503
5521
  ---
5504
5522
 
5505
5523
  ## Pipes (Puzzle Type #55)
5506
5524
 
5507
- Also known as Net.
5525
+ Also known as Net or Network.
5508
5526
 
5509
5527
  * [**Play online 1**](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/net.html)
5510
5528
 
@@ -5525,7 +5543,7 @@ The goal is to create a single fully connected graph where each cell's connectio
5525
5543
 
5526
5544
  **Unsolved puzzle**
5527
5545
 
5528
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/pipes_unsolved.png" alt="Pipes unsolved" width="500">
5546
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/pipes_unsolved.png" alt="Pipes unsolved" width="500">
5529
5547
 
5530
5548
  Code to utilize this package and solve the puzzle:
5531
5549
 
@@ -5584,7 +5602,7 @@ Time taken: 5.65 seconds
5584
5602
 
5585
5603
  **Solved puzzle**
5586
5604
 
5587
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/pipes_solved.png" alt="Pipes solved" width="500">
5605
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/pipes_solved.png" alt="Pipes solved" width="500">
5588
5606
 
5589
5607
  ---
5590
5608
 
@@ -5604,7 +5622,7 @@ You are given a grid of empty cells and 2 filled cell per color. The goal is to
5604
5622
 
5605
5623
  **Unsolved puzzle**
5606
5624
 
5607
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/connect_the_dots_unsolved.png" alt="Connect the Dots unsolved" width="500">
5625
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/connect_the_dots_unsolved.png" alt="Connect the Dots unsolved" width="500">
5608
5626
 
5609
5627
  Code to utilize this package and solve the puzzle:
5610
5628
 
@@ -5654,12 +5672,14 @@ Time taken: 2.91 seconds
5654
5672
 
5655
5673
  **Solved puzzle**
5656
5674
 
5657
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/connect_the_dots_solved.png" alt="Connect the Dots solved" width="500">
5675
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/connect_the_dots_solved.png" alt="Connect the Dots solved" width="500">
5658
5676
 
5659
5677
  ---
5660
5678
 
5661
5679
  ## Nonograms Colored (Puzzle Type #57)
5662
5680
 
5681
+ Also known as Nonogrids, Numbergrids, or Picross.
5682
+
5663
5683
  * [**Play online**](https://www.nonograms.org/nonograms2)
5664
5684
 
5665
5685
  * [**Solver Code**][57]
@@ -5673,7 +5693,7 @@ You have a grid of squares, which must all be filled in either white or one of t
5673
5693
 
5674
5694
  **Unsolved puzzle**
5675
5695
 
5676
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nonograms_colored_unsolved.png" alt="Nonograms Colored unsolved" width="500">
5696
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nonograms_colored_unsolved.png" alt="Nonograms Colored unsolved" width="500">
5677
5697
 
5678
5698
  Code to utilize this package and solve the puzzle:
5679
5699
 
@@ -5780,11 +5800,145 @@ Time taken: 0.40 seconds
5780
5800
 
5781
5801
  The script also visualizes the solution:
5782
5802
 
5783
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nonograms_colored_script_output.png" alt="Nonograms Colored solved" width="500">
5803
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nonograms_colored_script_output.png" alt="Nonograms Colored solved" width="500">
5804
+
5805
+ **Solved puzzle**
5806
+
5807
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/nonograms_colored_solved.png" alt="Nonograms Colored solved" width="500">
5808
+
5809
+ ---
5810
+
5811
+ ## ABC View (Puzzle Type #58)
5812
+
5813
+ * [**Play online**](https://www.brainbashers.com/showabcview.asp)
5814
+
5815
+ * [**Solver Code**][58]
5816
+
5817
+ <details>
5818
+ <summary><strong>Rules</strong></summary>
5819
+
5820
+ Fill every row and column with exactly one A, B, and C (and two blank squares).
5821
+ The clues tell you which letter appears first in that direction in each row or column.
5822
+
5823
+ </details>
5824
+
5825
+ **Unsolved puzzle**
5826
+
5827
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/abc_view_unsolved.png" alt="ABC View unsolved" width="500">
5828
+
5829
+ Code to utilize this package and solve the puzzle:
5830
+
5831
+ ```python
5832
+ import numpy as np
5833
+ from puzzle_solver import abc_view_solver as solver
5834
+ board = np.full((5, 5), ' ')
5835
+ top = np.array(['C', 'C', 'C', 'B', ''])
5836
+ left = np.array(['C', 'C', '', 'A', ''])
5837
+ bottom = np.array(['', 'A', 'A', 'C', 'B'])
5838
+ right = np.array(['', '', 'C', '', ''])
5839
+ binst = solver.Board(board=board, top=top, left=left, bottom=bottom, right=right, characters=['A', 'B', 'C'])
5840
+ solutions = binst.solve_and_print()
5841
+ ```
5842
+
5843
+ **Script Output**
5844
+
5845
+ ```python
5846
+ Solution found
5847
+
5848
+ 0 1 2 3 4
5849
+ ┌───┬───┬───┬───┬───┐
5850
+ 0│ │ C │ │ B │ A │
5851
+ ├───┼───┼───┼───┼───┤
5852
+ 1│ C │ B │ │ A │ │
5853
+ ├───┼───┼───┼───┼───┤
5854
+ 2│ B │ A │ C │ │ │
5855
+ ├───┼───┼───┼───┼───┤
5856
+ 3│ A │ │ B │ │ C │
5857
+ ├───┼───┼───┼───┼───┤
5858
+ 4│ │ │ A │ C │ B │
5859
+ └───┴───┴───┴───┴───┘
5860
+ Solutions found: 1
5861
+ status: OPTIMAL
5862
+ Time taken: 0.01 seconds
5863
+ ```
5864
+
5865
+ **Solved puzzle**
5866
+
5867
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/abc_view_solved.png" alt="ABC View solved" width="500">
5868
+
5869
+ ---
5870
+
5871
+ ## Mathema Grids (Puzzle Type #59)
5872
+
5873
+ * [**Play online**](https://www.brainbashers.com/showmathemagrids.asp)
5874
+
5875
+ * [**Solver Code**][59]
5876
+
5877
+ <details>
5878
+ <summary><strong>Rules</strong></summary>
5879
+
5880
+ Complete the grid using all of the numbers from 1 to 9.
5881
+ When completed, all of the sums must be correct.
5882
+ The sums are solved strictly from left to right, and top to bottom.
5883
+ The normal order of mathematical operations is ignored.
5884
+ For example, 2 + 5 x 9 is calculated as (2 + 5) x 9 = 63.
5885
+ ÷ 1 doesn't appear in the puzzle.
5886
+ x 1 doesn't appear in the puzzle (although there might be 1 x).
5887
+ At no point will any calculation go below zero, or become fractional.
5888
+
5889
+ </details>
5890
+
5891
+ **Unsolved puzzle**
5892
+
5893
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/mathema_grids_unsolved.png" alt="Mathema Grids unsolved" width="500">
5894
+
5895
+ Code to utilize this package and solve the puzzle:
5896
+
5897
+ ```python
5898
+ import numpy as np
5899
+ from puzzle_solver import mathema_grids_solver as solver
5900
+ board = np.array([
5901
+ [' ', '+', ' ', '-', ' ', '=', '4'],
5902
+ ['+', ' ', '+', ' ', '*', ' ', ' '],
5903
+ [' ', '*', ' ', '/', ' ', '=', '3'],
5904
+ ['*', ' ', '*', ' ', '+', ' ', ' '],
5905
+ [' ', '*', '2', '-', ' ', '=', '2'],
5906
+ ['=', ' ', '=', ' ', '=', ' ', ' '],
5907
+ ['24', ' ', '32', ' ', '30', ' ', ' '],
5908
+ ])
5909
+ binst = solver.Board(board=board, digits=[1, 2, 3, 4, 5, 6, 7, 8, 9])
5910
+ solutions = binst.solve_and_print()
5911
+ ```
5912
+
5913
+ **Script Output**
5914
+
5915
+ ```python
5916
+ Solution found
5917
+
5918
+ 0 1 2 3 4 5 6
5919
+ ┌───┬───┬───┬───┬───┬───┬───┐
5920
+ 0│ 5 │ + │ 7 │ - │ 8 │ = │ 4 │
5921
+ ├───┼───┼───┼───┼───┼───┼───┤
5922
+ 1│ + │ │ + │ │ * │ │ │
5923
+ ├───┼───┼───┼───┼───┼───┼───┤
5924
+ 2│ 1 │ * │ 9 │ / │ 3 │ = │ 3 │
5925
+ ├───┼───┼───┼───┼───┼───┼───┤
5926
+ 3│ * │ │ * │ │ + │ │ │
5927
+ ├───┼───┼───┼───┼───┼───┼───┤
5928
+ 4│ 4 │ * │ 2 │ - │ 6 │ = │ 2 │
5929
+ ├───┼───┼───┼───┼───┼───┼───┤
5930
+ 5│ = │ │ = │ │ = │ │ │
5931
+ ├───┼───┼───┼───┼───┼───┼───┤
5932
+ 6│24 │ │32 │ │30 │ │ │
5933
+ └───┴───┴───┴───┴───┴───┴───┘
5934
+ Solutions found: 1
5935
+ status: OPTIMAL
5936
+ Time taken: 0.00 seconds
5937
+ ```
5784
5938
 
5785
5939
  **Solved puzzle**
5786
5940
 
5787
- <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/nonograms_colored_solved.png" alt="Nonograms Colored solved" width="500">
5941
+ <img src="https://raw.githubusercontent.com/Ar-Kareem/puzzle_solver/master/images/puzzles/mathema_grids_solved.png" alt="Mathema Grids solved" width="500">
5788
5942
 
5789
5943
  ---
5790
5944
 
@@ -5896,3 +6050,5 @@ Issues and PRs welcome!
5896
6050
  [55]: https://github.com/Ar-Kareem/puzzle_solver/tree/master/src/puzzle_solver/puzzles/pipes "puzzle_solver/src/puzzle_solver/puzzles/pipes at master · Ar-Kareem/puzzle_solver · GitHub"
5897
6051
  [56]: https://github.com/Ar-Kareem/puzzle_solver/tree/master/src/puzzle_solver/puzzles/connect_the_dots "puzzle_solver/src/puzzle_solver/puzzles/connect_the_dots at master · Ar-Kareem/puzzle_solver · GitHub"
5898
6052
  [57]: https://github.com/Ar-Kareem/puzzle_solver/tree/master/src/puzzle_solver/puzzles/nonograms "puzzle_solver/src/puzzle_solver/puzzles/nonograms at master · Ar-Kareem/puzzle_solver · GitHub"
6053
+ [58]: https://github.com/Ar-Kareem/puzzle_solver/tree/master/src/puzzle_solver/puzzles/abc_view "puzzle_solver/src/puzzle_solver/puzzles/abc_view at master · Ar-Kareem/puzzle_solver · GitHub"
6054
+ [59]: https://github.com/Ar-Kareem/puzzle_solver/tree/master/src/puzzle_solver/puzzles/mathema_grids "puzzle_solver/src/puzzle_solver/puzzles/mathema_grids at master · Ar-Kareem/puzzle_solver · GitHub"