Snake and Cacti


Place a 1-cell wide snake which does not touch itself, not even diagonally. The snake does not use the cells containing cacti (represented by circles); but it has to use at least one cell that is orthogonally adjacent to each cactus, while not turning in any such cell. Any given 'X's mean the cells cannot be used by the snake.

In the puzzle below, head and tail are not given, and determining their locations is a part of the solve.