Knight's tour: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 3,587: | Line 3,587: | ||
integer :: warnsdorff_numbers(1:8) |
integer :: warnsdorff_numbers(1:8) |
||
integer :: number_of_unpruned_squares |
integer :: number_of_unpruned_squares |
||
integer :: least_warnsdorff_number |
|||
integer :: i |
integer :: i |
||
Line 3,606: | Line 3,605: | ||
! |
! |
||
number_of_unpruned_squares = 0 |
number_of_unpruned_squares = 0 |
||
least_warnsdorff_number = 100 |
|||
unvisited_moves = unvisited_knight_moves (path) |
unvisited_moves = unvisited_knight_moves (path) |
||
do i = 1, unvisited_moves%number_of_squares |
do i = 1, unvisited_moves%number_of_squares |
||
Line 3,619: | Line 3,617: | ||
unpruned_squares(number_of_unpruned_squares) = unvisited_moves%squares(i) |
unpruned_squares(number_of_unpruned_squares) = unvisited_moves%squares(i) |
||
warnsdorff_numbers(number_of_unpruned_squares) = next_moves%number_of_squares |
warnsdorff_numbers(number_of_unpruned_squares) = next_moves%number_of_squares |
||
least_warnsdorff_number = & |
|||
& min (least_warnsdorff_number, next_moves%number_of_squares) |
|||
end if |
end if |
||
end do |
end do |
||
Line 3,658: | Line 3,654: | ||
character(2), intent(in) :: starting_square |
character(2), intent(in) :: starting_square |
||
logical :: solution_found |
|||
type(path_t) :: path |
type(path_t) :: path |
||