You and a few friends are playing a board game. The board of the game is laid out in a large interconnected graph that has many loops. Each player starts at a different location on the board. When it is your turn, you get to roll anything between one to six 6-sided dice (in other words, anything from a 1-36). How do you determine every space that you can possibly go to in a single turn from your current location? (Example: I roll a 13. Find all spots on the board that are 13 spaces away from me.) You can only move forwards but you can loop around to traverse a net total of less than your roll.
Example: If this is your graph and you start at the top-left corner and you rolled a 6, then one place you can move is down, right, right, up, left, left. However you cannot move right, left, right, left, right, left.
o---o---o---o---o
| | |
o---o---o---o
Are there any algorithms available that do better than depth-first search?