int rowlim=7; int collim=7; int moves=33; // 'O' is an open hole, 'X' is a filled hole, '_' is not available int board_table[][] = { { '_','_','X','X','X','_','_','0'}, { '_','_','X','X','X','_','_','0'}, { 'X','X','X','X','X','X','X','0'}, { 'X','X','X','O','X','X','X','0'}, { 'X','X','X','X','X','X','X','0'}, { '_','_','X','X','X','_','_','0'}, { '_','_','X','X','X','_','_','0'}, }; // zero is a walk, one is a jump ... the other four numbers are // the starting row/column and the ending row/column. // unlike the puzzle, the first row and column are ZERO. int moves_table[][] = { { 1 ,3,1,3,3 }, { 0 ,4,1,3,1 }, { 1 ,4,3,4,1 }, { 1 ,4,0,4,2 }, { 1 ,1,2,3,2 }, { 1 ,2,0,2,2 }, { 1 ,2,3,4,3 }, { 1 ,3,2,1,2 }, { 1 ,3,0,3,2 }, { 1 ,0,2,2,2 }, { 1 ,2,5,2,3 }, { 1 ,3,5,3,3 }, { 1 ,0,4,2,4 }, { 1 ,5,4,3,4 }, { 1 ,4,6,4,4 }, { 1 ,2,6,4,6 }, { 1 ,3,4,5,4 }, { 1 ,6,4,4,4 }, { 1 ,6,2,6,4 }, { 1 ,4,3,4,5 }, { 1 ,3,2,3,4 }, { 1 ,5,2,3,2 }, { 1 ,4,6,4,4 }, { 1 ,3,4,5,4 }, { 1 ,2,3,2,5 }, { 1 ,6,4,4,4 }, { 1 ,0,3,2,3 }, { 1 ,2,2,2,4 }, { 1 ,2,5,2,3 }, { 0 ,5,3,4,3 }, { 1 ,4,4,4,2 }, { 1 ,4,2,2,2 }, { 1 ,2,2,2,4 }, };