import java.util.ArrayList; import java.util.Scanner; public class getBoardPath { public static void main(String[] args) { Scanner scn = new Scanner(System.in); System.out.println("Enter Current Position:"); int n1= scn.nextInt(); System.out.println("Enter Destination Position:"); int n2= scn.nextInt(); System.out.println(GetBoardPath(n1, n2)); } public static ArrayList GetBoardPath(int curr, int end) { // Returns all snake & ladder board paths from curr to end if (curr == end) { ArrayList basePositive = new ArrayList<>(); basePositive.add("\n"); return basePositive; } if (curr > end) { ArrayList baseNegative = new ArrayList<>(); return baseNegative; } ArrayList MyResult = new ArrayList<>(); for (int dice = 1; dice <= 6; dice++) { ArrayList RecResult = GetBoardPath(curr + dice, end); for (String RecResultString : RecResult) { MyResult.add(dice + RecResultString); } } return MyResult; } }