Commits

shl...@b384bcd7-cfd4-0310-aca0-d78b80f7b91b  committed bf87d01

Made the human output indexes starting from 1 instead of starting from 0.

  • Participants
  • Parent commits 73b844e

Comments (0)

Files changed (3)

File abc-path/Games-ABC_Path-Solver/lib/Games/ABC_Path/Solver/Board.pm

                 $self->_add_move(
                     Games::ABC_Path::Solver::Move->new(
                         {
-                            text =>  "For $letters[$letter] only ($xy->[0],$xy->[1]) is possible.",
+                            text => sprintf(
+                                "For %s only (%d,%d) is possible.", 
+                                $letters[$letter], $xy->[0]+1, $xy->[1]+1,
+                            ),
                         }
                     )
                 );
                     $self->_add_move(
                         Games::ABC_Path::Solver::Move->new(
                             {
-                                text => "$letters[$neighbour_letter] cannot be at ($x,$y) due to lack of vicinity from $letters[$letter].",
+                                text => sprintf(
+                                    "%s cannot be at (%d,%d) due to lack of vicinity from %s.", 
+                                    $letters[$neighbour_letter], 
+                                    $x+1,$y+1, 
+                                    $letters[$letter]
+                                ),
                             }
                         )
                     );
                 $self->_add_move(
                     Games::ABC_Path::Solver::Move->new(
                         {
-                            text => "The only letter that can be at ($x,$y) is $letters[$letter]. Invalidating it for all other cells."
+                            text => sprintf(
+                                "The only letter that can be at (%d,%d) is %s. Invalidating it for all other cells.", 
+                                $x+1,$y+1, $letters[$letter]
+                            ),
                         }
                     )
                 );
             $self->_add_move(
                 Games::ABC_Path::Solver::Move->new(
                 {
-                    text => "We have non-conclusive cells. Trying $letters[$letter] for ($x,$y)",
+                    text => sprintf(
+                        "We have non-conclusive cells. Trying %s for (%d,%d)",
+                        $letters[$letter], $x+1, $y+1,
+                    ),
                 }
             ),
             );
                 $self->_add_move(
                     Games::ABC_Path::Solver::Move->new(
                     {
-                        text => "Trying $letters[$letter] for ($x,$y) results in an error.",
+                        text => 
+                        sprintf(
+                            "Trying %s for (%d,%d) results in an error.", 
+                            $letters[$letter],
+                            $x+1,
+                            $y+1
+                        ),
                     }
                     )
                 );
                 $self->_add_move(
                     Games::ABC_Path::Solver::Move->new(
                         {
-                            text => "Trying $letters[$letter] for ($x,$y) returns a success."
+                            text => 
+                            sprintf(
+                                "Trying %s for (%d,%d) returns a success.", 
+                                $letters[$letter], $x+1,$y+1
+                            ),
                         }
                     )
                 );
     return join('',
         map { $render_row->($_) }
         (
-        [map { sprintf("X = %d", $_) } $self->_x_indexes ],
+        [map { sprintf("X = %d", $_+1) } $self->_x_indexes ],
         map { my $y = $_; 
             [ 
                 map 

File abc-path/Games-ABC_Path-Solver/t/results/brain-bashers.2010-12-21.abc-path-sol

-B cannot be at (3,2) due to lack of vicinity from A.
-B cannot be at (3,3) due to lack of vicinity from A.
-B cannot be at (3,4) due to lack of vicinity from A.
-C cannot be at (3,3) due to lack of vicinity from B.
-C cannot be at (3,4) due to lack of vicinity from B.
-D cannot be at (4,4) due to lack of vicinity from C.
-E cannot be at (0,1) due to lack of vicinity from D.
-E cannot be at (1,1) due to lack of vicinity from D.
-E cannot be at (2,1) due to lack of vicinity from D.
-D cannot be at (4,3) due to lack of vicinity from E.
-F cannot be at (0,2) due to lack of vicinity from E.
-F cannot be at (1,2) due to lack of vicinity from E.
-G cannot be at (2,0) due to lack of vicinity from F.
-G cannot be at (2,4) due to lack of vicinity from F.
-F cannot be at (4,2) due to lack of vicinity from G.
-H cannot be at (0,0) due to lack of vicinity from G.
-H cannot be at (4,4) due to lack of vicinity from G.
-J cannot be at (0,0) due to lack of vicinity from I.
-I cannot be at (2,2) due to lack of vicinity from J.
-I cannot be at (2,3) due to lack of vicinity from J.
-I cannot be at (2,4) due to lack of vicinity from J.
-M cannot be at (1,3) due to lack of vicinity from L.
-M cannot be at (1,4) due to lack of vicinity from L.
-L cannot be at (3,1) due to lack of vicinity from M.
-L cannot be at (4,1) due to lack of vicinity from M.
-N cannot be at (3,1) due to lack of vicinity from M.
-N cannot be at (0,4) due to lack of vicinity from M.
-M cannot be at (1,0) due to lack of vicinity from N.
-O cannot be at (0,0) due to lack of vicinity from N.
-O cannot be at (4,4) due to lack of vicinity from N.
-P cannot be at (0,3) due to lack of vicinity from O.
-O cannot be at (1,1) due to lack of vicinity from P.
-Q cannot be at (4,1) due to lack of vicinity from P.
-P cannot be at (1,3) due to lack of vicinity from Q.
-P cannot be at (2,3) due to lack of vicinity from Q.
-R cannot be at (0,4) due to lack of vicinity from Q.
-R cannot be at (1,4) due to lack of vicinity from Q.
-R cannot be at (2,4) due to lack of vicinity from Q.
-Q cannot be at (4,2) due to lack of vicinity from R.
-S cannot be at (0,4) due to lack of vicinity from R.
-S cannot be at (1,4) due to lack of vicinity from R.
-T cannot be at (3,1) due to lack of vicinity from S.
-T cannot be at (2,2) due to lack of vicinity from S.
-T cannot be at (0,4) due to lack of vicinity from S.
-For T only (1,3) is possible.
-S cannot be at (3,4) due to lack of vicinity from T.
-S cannot be at (4,4) due to lack of vicinity from T.
-U cannot be at (3,2) due to lack of vicinity from T.
-U cannot be at (4,2) due to lack of vicinity from T.
-V cannot be at (0,0) due to lack of vicinity from U.
-V cannot be at (0,4) due to lack of vicinity from U.
-U cannot be at (2,2) due to lack of vicinity from V.
-Y cannot be at (3,3) due to lack of vicinity from X.
-Y cannot be at (4,3) due to lack of vicinity from X.
-X cannot be at (1,0) due to lack of vicinity from Y.
-X cannot be at (1,1) due to lack of vicinity from Y.
-The only letter that can be at (4,2) is D. Invalidating it for all other cells.
-The only letter that can be at (0,4) is W. Invalidating it for all other cells.
-The only letter that can be at (1,4) is X. Invalidating it for all other cells.
-The only letter that can be at (2,4) is S. Invalidating it for all other cells.
-The only letter that can be at (3,4) is R. Invalidating it for all other cells.
-The only letter that can be at (4,4) is Q. Invalidating it for all other cells.
-C cannot be at (3,0) due to lack of vicinity from D.
-H cannot be at (3,3) due to lack of vicinity from I.
-For N only (2,2) is possible.
-For O only (3,3) is possible.
-For P only (4,3) is possible.
-V cannot be at (0,1) due to lack of vicinity from W.
-V cannot be at (0,2) due to lack of vicinity from W.
-The only letter that can be at (0,0) is K. Invalidating it for all other cells.
-The only letter that can be at (1,0) is J. Invalidating it for all other cells.
-The only letter that can be at (2,0) is I. Invalidating it for all other cells.
-The only letter that can be at (3,0) is B. Invalidating it for all other cells.
-The only letter that can be at (0,1) is L. Invalidating it for all other cells.
-The only letter that can be at (2,1) is G. Invalidating it for all other cells.
-The only letter that can be at (4,1) is E. Invalidating it for all other cells.
-The only letter that can be at (0,2) is U. Invalidating it for all other cells.
-The only letter that can be at (1,2) is M. Invalidating it for all other cells.
-The only letter that can be at (2,3) is Y. Invalidating it for all other cells.
-C cannot be at (3,2) due to lack of vicinity from B.
-For C only (3,1) is possible.
-For F only (3,2) is possible.
-For H only (1,1) is possible.
-For V only (0,3) is possible.
-| X = 0 | X = 1 | X = 2 | X = 3 | X = 4 |
+B cannot be at (4,3) due to lack of vicinity from A.
+B cannot be at (4,4) due to lack of vicinity from A.
+B cannot be at (4,5) due to lack of vicinity from A.
+C cannot be at (4,4) due to lack of vicinity from B.
+C cannot be at (4,5) due to lack of vicinity from B.
+D cannot be at (5,5) due to lack of vicinity from C.
+E cannot be at (1,2) due to lack of vicinity from D.
+E cannot be at (2,2) due to lack of vicinity from D.
+E cannot be at (3,2) due to lack of vicinity from D.
+D cannot be at (5,4) due to lack of vicinity from E.
+F cannot be at (1,3) due to lack of vicinity from E.
+F cannot be at (2,3) due to lack of vicinity from E.
+G cannot be at (3,1) due to lack of vicinity from F.
+G cannot be at (3,5) due to lack of vicinity from F.
+F cannot be at (5,3) due to lack of vicinity from G.
+H cannot be at (1,1) due to lack of vicinity from G.
+H cannot be at (5,5) due to lack of vicinity from G.
+J cannot be at (1,1) due to lack of vicinity from I.
+I cannot be at (3,3) due to lack of vicinity from J.
+I cannot be at (3,4) due to lack of vicinity from J.
+I cannot be at (3,5) due to lack of vicinity from J.
+M cannot be at (2,4) due to lack of vicinity from L.
+M cannot be at (2,5) due to lack of vicinity from L.
+L cannot be at (4,2) due to lack of vicinity from M.
+L cannot be at (5,2) due to lack of vicinity from M.
+N cannot be at (4,2) due to lack of vicinity from M.
+N cannot be at (1,5) due to lack of vicinity from M.
+M cannot be at (2,1) due to lack of vicinity from N.
+O cannot be at (1,1) due to lack of vicinity from N.
+O cannot be at (5,5) due to lack of vicinity from N.
+P cannot be at (1,4) due to lack of vicinity from O.
+O cannot be at (2,2) due to lack of vicinity from P.
+Q cannot be at (5,2) due to lack of vicinity from P.
+P cannot be at (2,4) due to lack of vicinity from Q.
+P cannot be at (3,4) due to lack of vicinity from Q.
+R cannot be at (1,5) due to lack of vicinity from Q.
+R cannot be at (2,5) due to lack of vicinity from Q.
+R cannot be at (3,5) due to lack of vicinity from Q.
+Q cannot be at (5,3) due to lack of vicinity from R.
+S cannot be at (1,5) due to lack of vicinity from R.
+S cannot be at (2,5) due to lack of vicinity from R.
+T cannot be at (4,2) due to lack of vicinity from S.
+T cannot be at (3,3) due to lack of vicinity from S.
+T cannot be at (1,5) due to lack of vicinity from S.
+For T only (2,4) is possible.
+S cannot be at (4,5) due to lack of vicinity from T.
+S cannot be at (5,5) due to lack of vicinity from T.
+U cannot be at (4,3) due to lack of vicinity from T.
+U cannot be at (5,3) due to lack of vicinity from T.
+V cannot be at (1,1) due to lack of vicinity from U.
+V cannot be at (1,5) due to lack of vicinity from U.
+U cannot be at (3,3) due to lack of vicinity from V.
+Y cannot be at (4,4) due to lack of vicinity from X.
+Y cannot be at (5,4) due to lack of vicinity from X.
+X cannot be at (2,1) due to lack of vicinity from Y.
+X cannot be at (2,2) due to lack of vicinity from Y.
+The only letter that can be at (5,3) is D. Invalidating it for all other cells.
+The only letter that can be at (1,5) is W. Invalidating it for all other cells.
+The only letter that can be at (2,5) is X. Invalidating it for all other cells.
+The only letter that can be at (3,5) is S. Invalidating it for all other cells.
+The only letter that can be at (4,5) is R. Invalidating it for all other cells.
+The only letter that can be at (5,5) is Q. Invalidating it for all other cells.
+C cannot be at (4,1) due to lack of vicinity from D.
+H cannot be at (4,4) due to lack of vicinity from I.
+For N only (3,3) is possible.
+For O only (4,4) is possible.
+For P only (5,4) is possible.
+V cannot be at (1,2) due to lack of vicinity from W.
+V cannot be at (1,3) due to lack of vicinity from W.
+The only letter that can be at (1,1) is K. Invalidating it for all other cells.
+The only letter that can be at (2,1) is J. Invalidating it for all other cells.
+The only letter that can be at (3,1) is I. Invalidating it for all other cells.
+The only letter that can be at (4,1) is B. Invalidating it for all other cells.
+The only letter that can be at (1,2) is L. Invalidating it for all other cells.
+The only letter that can be at (3,2) is G. Invalidating it for all other cells.
+The only letter that can be at (5,2) is E. Invalidating it for all other cells.
+The only letter that can be at (1,3) is U. Invalidating it for all other cells.
+The only letter that can be at (2,3) is M. Invalidating it for all other cells.
+The only letter that can be at (3,4) is Y. Invalidating it for all other cells.
+C cannot be at (4,3) due to lack of vicinity from B.
+For C only (4,2) is possible.
+For F only (4,3) is possible.
+For H only (2,2) is possible.
+For V only (1,4) is possible.
+| X = 1 | X = 2 | X = 3 | X = 4 | X = 5 |
 |   K   |   J   |   I   |   B   |   A   |
 |   L   |   H   |   G   |   C   |   E   |
 |   U   |   M   |   N   |   F   |   D   |

File abc-path/Games-ABC_Path-Solver/t/results/brain-bashers.2010-12-22.abc-path-sol

-B cannot be at (3,1) due to lack of vicinity from A.
-B cannot be at (4,1) due to lack of vicinity from A.
-C cannot be at (1,3) due to lack of vicinity from B.
-C cannot be at (1,4) due to lack of vicinity from B.
-D cannot be at (3,0) due to lack of vicinity from C.
-D cannot be at (4,0) due to lack of vicinity from C.
-E cannot be at (0,2) due to lack of vicinity from D.
-E cannot be at (0,3) due to lack of vicinity from D.
-E cannot be at (0,4) due to lack of vicinity from D.
-D cannot be at (2,0) due to lack of vicinity from E.
-F cannot be at (0,3) due to lack of vicinity from E.
-F cannot be at (0,4) due to lack of vicinity from E.
-G cannot be at (2,2) due to lack of vicinity from F.
-G cannot be at (3,2) due to lack of vicinity from F.
-G cannot be at (4,2) due to lack of vicinity from F.
-For G only (0,2) is possible.
-F cannot be at (0,0) due to lack of vicinity from G.
-H cannot be at (2,3) due to lack of vicinity from G.
-H cannot be at (3,3) due to lack of vicinity from G.
-H cannot be at (4,3) due to lack of vicinity from G.
-I cannot be at (1,0) due to lack of vicinity from H.
-I cannot be at (1,1) due to lack of vicinity from H.
-J cannot be at (3,4) due to lack of vicinity from I.
-J cannot be at (4,4) due to lack of vicinity from I.
-K cannot be at (4,0) due to lack of vicinity from J.
-K cannot be at (3,1) due to lack of vicinity from J.
-K cannot be at (2,2) due to lack of vicinity from J.
-L cannot be at (3,4) due to lack of vicinity from K.
-L cannot be at (4,4) due to lack of vicinity from K.
-M cannot be at (2,0) due to lack of vicinity from L.
-M cannot be at (2,1) due to lack of vicinity from L.
-M cannot be at (2,2) due to lack of vicinity from L.
-L cannot be at (0,4) due to lack of vicinity from M.
-N cannot be at (0,0) due to lack of vicinity from M.
+B cannot be at (4,2) due to lack of vicinity from A.
+B cannot be at (5,2) due to lack of vicinity from A.
+C cannot be at (2,4) due to lack of vicinity from B.
+C cannot be at (2,5) due to lack of vicinity from B.
+D cannot be at (4,1) due to lack of vicinity from C.
+D cannot be at (5,1) due to lack of vicinity from C.
+E cannot be at (1,3) due to lack of vicinity from D.
+E cannot be at (1,4) due to lack of vicinity from D.
+E cannot be at (1,5) due to lack of vicinity from D.
+D cannot be at (3,1) due to lack of vicinity from E.
+F cannot be at (1,4) due to lack of vicinity from E.
+F cannot be at (1,5) due to lack of vicinity from E.
+G cannot be at (3,3) due to lack of vicinity from F.
+G cannot be at (4,3) due to lack of vicinity from F.
+G cannot be at (5,3) due to lack of vicinity from F.
+For G only (1,3) is possible.
+F cannot be at (1,1) due to lack of vicinity from G.
+H cannot be at (3,4) due to lack of vicinity from G.
+H cannot be at (4,4) due to lack of vicinity from G.
+H cannot be at (5,4) due to lack of vicinity from G.
+I cannot be at (2,1) due to lack of vicinity from H.
+I cannot be at (2,2) due to lack of vicinity from H.
+J cannot be at (4,5) due to lack of vicinity from I.
+J cannot be at (5,5) due to lack of vicinity from I.
+K cannot be at (5,1) due to lack of vicinity from J.
+K cannot be at (4,2) due to lack of vicinity from J.
+K cannot be at (3,3) due to lack of vicinity from J.
+L cannot be at (4,5) due to lack of vicinity from K.
+L cannot be at (5,5) due to lack of vicinity from K.
+M cannot be at (3,1) due to lack of vicinity from L.
+M cannot be at (3,2) due to lack of vicinity from L.
+M cannot be at (3,3) due to lack of vicinity from L.
+L cannot be at (1,5) due to lack of vicinity from M.
 N cannot be at (1,1) due to lack of vicinity from M.
-N cannot be at (4,4) due to lack of vicinity from M.
-P cannot be at (0,0) due to lack of vicinity from O.
-P cannot be at (4,4) due to lack of vicinity from O.
-Q cannot be at (3,0) due to lack of vicinity from P.
-P cannot be at (1,1) due to lack of vicinity from Q.
-S cannot be at (0,0) due to lack of vicinity from R.
-S cannot be at (4,0) due to lack of vicinity from R.
-R cannot be at (2,2) due to lack of vicinity from S.
-R cannot be at (2,3) due to lack of vicinity from S.
-R cannot be at (2,4) due to lack of vicinity from S.
-T cannot be at (2,2) due to lack of vicinity from S.
-T cannot be at (1,3) due to lack of vicinity from S.
-T cannot be at (0,4) due to lack of vicinity from S.
-S cannot be at (1,0) due to lack of vicinity from T.
-U cannot be at (0,1) due to lack of vicinity from T.
-U cannot be at (1,1) due to lack of vicinity from T.
-V cannot be at (4,3) due to lack of vicinity from U.
-V cannot be at (4,4) due to lack of vicinity from U.
-U cannot be at (2,1) due to lack of vicinity from V.
-W cannot be at (0,3) due to lack of vicinity from V.
-W cannot be at (1,3) due to lack of vicinity from V.
-W cannot be at (2,3) due to lack of vicinity from V.
-V cannot be at (4,0) due to lack of vicinity from W.
-V cannot be at (4,1) due to lack of vicinity from W.
-X cannot be at (4,0) due to lack of vicinity from W.
-X cannot be at (4,1) due to lack of vicinity from W.
-Y cannot be at (3,0) due to lack of vicinity from X.
-The only letter that can be at (3,0) is S. Invalidating it for all other cells.
-The only letter that can be at (4,0) is T. Invalidating it for all other cells.
-The only letter that can be at (4,1) is U. Invalidating it for all other cells.
-The only letter that can be at (0,3) is H. Invalidating it for all other cells.
-The only letter that can be at (2,3) is M. Invalidating it for all other cells.
-The only letter that can be at (4,4) is X. Invalidating it for all other cells.
-For F only (0,1) is possible.
-Q cannot be at (3,3) due to lack of vicinity from R.
-Q cannot be at (3,4) due to lack of vicinity from R.
-For V only (4,2) is possible.
-Y cannot be at (3,1) due to lack of vicinity from X.
-Y cannot be at (3,2) due to lack of vicinity from X.
-The only letter that can be at (2,0) is R. Invalidating it for all other cells.
-The only letter that can be at (2,1) is B. Invalidating it for all other cells.
-The only letter that can be at (3,1) is Q. Invalidating it for all other cells.
-The only letter that can be at (3,2) is O. Invalidating it for all other cells.
-The only letter that can be at (4,3) is W. Invalidating it for all other cells.
-The only letter that can be at (3,4) is Y. Invalidating it for all other cells.
-For E only (0,0) is possible.
-P cannot be at (3,3) due to lack of vicinity from Q.
-The only letter that can be at (1,1) is C. Invalidating it for all other cells.
-The only letter that can be at (3,3) is N. Invalidating it for all other cells.
-For D only (1,0) is possible.
-For P only (2,2) is possible.
-We have non-conclusive cells. Trying I for (1,3)
- => For K only (0,4) is possible.
- => J cannot be at (2,4) due to lack of vicinity from K.
- => L cannot be at (2,4) due to lack of vicinity from K.
- => For L only (1,4) is possible.
-Trying I for (1,3) results in an error.
-We have non-conclusive cells. Trying K for (1,3)
- => For I only (1,4) is possible.
- => For L only (2,4) is possible.
- => The only letter that can be at (0,4) is J. Invalidating it for all other cells.
-Trying K for (1,3) returns a success.
-| X = 0 | X = 1 | X = 2 | X = 3 | X = 4 |
+N cannot be at (2,2) due to lack of vicinity from M.
+N cannot be at (5,5) due to lack of vicinity from M.
+P cannot be at (1,1) due to lack of vicinity from O.
+P cannot be at (5,5) due to lack of vicinity from O.
+Q cannot be at (4,1) due to lack of vicinity from P.
+P cannot be at (2,2) due to lack of vicinity from Q.
+S cannot be at (1,1) due to lack of vicinity from R.
+S cannot be at (5,1) due to lack of vicinity from R.
+R cannot be at (3,3) due to lack of vicinity from S.
+R cannot be at (3,4) due to lack of vicinity from S.
+R cannot be at (3,5) due to lack of vicinity from S.
+T cannot be at (3,3) due to lack of vicinity from S.
+T cannot be at (2,4) due to lack of vicinity from S.
+T cannot be at (1,5) due to lack of vicinity from S.
+S cannot be at (2,1) due to lack of vicinity from T.
+U cannot be at (1,2) due to lack of vicinity from T.
+U cannot be at (2,2) due to lack of vicinity from T.
+V cannot be at (5,4) due to lack of vicinity from U.
+V cannot be at (5,5) due to lack of vicinity from U.
+U cannot be at (3,2) due to lack of vicinity from V.
+W cannot be at (1,4) due to lack of vicinity from V.
+W cannot be at (2,4) due to lack of vicinity from V.
+W cannot be at (3,4) due to lack of vicinity from V.
+V cannot be at (5,1) due to lack of vicinity from W.
+V cannot be at (5,2) due to lack of vicinity from W.
+X cannot be at (5,1) due to lack of vicinity from W.
+X cannot be at (5,2) due to lack of vicinity from W.
+Y cannot be at (4,1) due to lack of vicinity from X.
+The only letter that can be at (4,1) is S. Invalidating it for all other cells.
+The only letter that can be at (5,1) is T. Invalidating it for all other cells.
+The only letter that can be at (5,2) is U. Invalidating it for all other cells.
+The only letter that can be at (1,4) is H. Invalidating it for all other cells.
+The only letter that can be at (3,4) is M. Invalidating it for all other cells.
+The only letter that can be at (5,5) is X. Invalidating it for all other cells.
+For F only (1,2) is possible.
+Q cannot be at (4,4) due to lack of vicinity from R.
+Q cannot be at (4,5) due to lack of vicinity from R.
+For V only (5,3) is possible.
+Y cannot be at (4,2) due to lack of vicinity from X.
+Y cannot be at (4,3) due to lack of vicinity from X.
+The only letter that can be at (3,1) is R. Invalidating it for all other cells.
+The only letter that can be at (3,2) is B. Invalidating it for all other cells.
+The only letter that can be at (4,2) is Q. Invalidating it for all other cells.
+The only letter that can be at (4,3) is O. Invalidating it for all other cells.
+The only letter that can be at (5,4) is W. Invalidating it for all other cells.
+The only letter that can be at (4,5) is Y. Invalidating it for all other cells.
+For E only (1,1) is possible.
+P cannot be at (4,4) due to lack of vicinity from Q.
+The only letter that can be at (2,2) is C. Invalidating it for all other cells.
+The only letter that can be at (4,4) is N. Invalidating it for all other cells.
+For D only (2,1) is possible.
+For P only (3,3) is possible.
+We have non-conclusive cells. Trying I for (2,4)
+ => For K only (1,5) is possible.
+ => J cannot be at (3,5) due to lack of vicinity from K.
+ => L cannot be at (3,5) due to lack of vicinity from K.
+ => For L only (2,5) is possible.
+Trying I for (2,4) results in an error.
+We have non-conclusive cells. Trying K for (2,4)
+ => For I only (2,5) is possible.
+ => For L only (3,5) is possible.
+ => The only letter that can be at (1,5) is J. Invalidating it for all other cells.
+Trying K for (2,4) returns a success.
+| X = 1 | X = 2 | X = 3 | X = 4 | X = 5 |
 |   E   |   D   |   R   |   S   |   T   |
 |   F   |   C   |   B   |   Q   |   U   |
 |   G   |   A   |   P   |   O   |   V   |