Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- public class Main {
- public static void main(String[] args) throws Exception {
- Scanner s = new Scanner (System.in);
- int n = s.nextInt();
- int m = s.nextInt();
- ArrayList<String> paths = getMazePaths(1, 1, n , m);
- System.out.println(paths);
- }
- // sr - source row
- // sc - source column
- // dr - destination row
- // dc - destination column
- public static ArrayList<String> getMazePaths(int sr, int sc, int dr, int dc) {
- if (sr == dr && sc == dc){
- ArrayList<String> bres = new ArrayList<>();
- bres.add("");
- return bres;
- }
- ArrayList<String> hpaths = new ArrayList<>();
- ArrayList<String> vpaths = new ArrayList<>();
- if (sr < dr){
- hpaths = getMazePaths(sr, sc + 1, dr, dc);
- }
- if(sc < dc){
- vpaths = getMazePaths(sr + 1, sc, dr, dc);
- }
- ArrayList<String> paths = new ArrayList<>();
- for (String hpath: hpaths){
- paths.add("h" + hpath);
- }
- for (String vpath: vpaths){
- paths.add("v" + vpath);
- }
- return paths;
- }
- }
Add Comment
Please, Sign In to add comment