Skip to main content

Flood Fill

 1. You are given a number n, representing the number of rows.

2. You are given a number m, representing the number of columns.

3. You are given n*m numbers, representing elements of 2d array a. The numbers can be 1 or 0 only.

4. You are standing in the top-left corner and have to reach the bottom-right corner. 

Only four moves are allowed 't' (1-step up), 'l' (1-step left), 'd' (1-step down) 'r' (1-step right). You can only move to cells which have 0 value in them. You can't move out of the boundaries or in the cells which have value 1 in them (1 means obstacle)

5. Complete the body of floodfill function - without changing signature - to print all paths that can be used to move from top-left to bottom-right.


Note1 -> Please check the sample input and output for details

Note2 -> If all four moves are available make moves in the order 't', 'l', 'd' and 'r'

Input Format

A number n

A number m

e11

e12..

e21

e22..

.. n * m number of elements

Output Format

trrrdlt

tlldrt

.. and so on


Constraints

1 <= n <= 10

1 <= m <= 10

e1, e2, .. n * m elements belongs to set (0, 1)

Sample Input

3 3

0 0 0

1 0 1

0 0 0

Sample Output

rddr


Solution:

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner scn = new Scanner(System.in);
        int n = scn.nextInt();
        int m = scn.nextInt();
        int[][] arr = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                arr[i][j] = scn.nextInt();
            }
        }
        boolean visited[][] = new boolean[n][m];
        floodfill(arr, 0, 0, "", visited);
    }
    
    // asf -> answer so far
    public static void floodfill(int[][] maze, int sr, int sc, String asf, boolean visited[][]) {
        if(sr<0 || sc<0 || (sr==maze.length) || sc==maze[0].length || maze[sr][sc] == 1 || visited[sr][sc] == true) return;
        if(sr == (maze.length-1) && sc == (maze[0].length-1)){
            System.out.println(asf);
            return;
        }
        visited[sr][sc] = true;
        floodfill(maze,sr-1,sc,asf+"t",visited);
        floodfill(maze,sr,sc-1,asf+"l",visited);
        floodfill(maze,sr+1,sc,asf+"d",visited);
        floodfill(maze,sr,sc+1,asf+"r",visited);
        visited[sr][sc] = false;
    }
}

Comments

Popular posts from this blog

Spot Round

Never ever give up !!! “Life is a journey with up and downs” Feeling happy when everything is right is natural, but feeling sad for something gone wrong can’t be justified. Many say miracle doesn’t happen, but a miracle is something that doesn’t have logic… Do you believe in miracles? So, stop seeing logic everywhere and then you can feel miracles. I want to share something… During my counselling for Bachelor’s degree till last round, I was unable to get a seat in college I want to study in. It felt like everything has gone. Then I heard about Spot Round. I was not sure to secure a seat. But I went there to try my luck, in a hope of a miracle. So, I kept ready all my necessary documents made a DD for this round. While I was going to reporting centre my mind was full of the variety of thoughts. I made a mistake and I was little late for reporting. So, I rushed up through check-in and register myself for this special round. Then I went to a hall where everyone ...

CSAB Special round for NITs, IIITs and CFTIS 2018

CSAB Special round for NITs, IIITs and CFTIS 2 018 After the  seat allotment of JoSAA 2018  is completed, CSAB will conduct a special round of counselling for NITs, IIITs and CFTIs through CSAB. The allotment will be open only for those candidates who have successfully completed their  JEE Main 2018   examination and secured valid scores. Exclusive:   JoSAA Counselling 2021, Documents Required... CSAB 2018 Special Round 1 Seat Allotment Result CSAB 2018 Special Round 1 Opening and Closing Rank Important Dates of CSAB Special round for NITs, IIITs and CFTIS 2018 S.No Events Important Dates (Tentative) 1 Registration and Choice Filling Fourth week of July 2018 2 Announcement of Seat Allotment Fourth week of July 2018 3 Reporting to Allotted Institutes First week of August 2018 click here to get full schedule... Eligibility Criteria of CSAB Special round ...

Certificates Format JoSAA 2018

Certificates Format JoSAA 2018 JoSAA certificate formats  required at time of documents verification at reporting centres are released and must download them from here... Click the  JoSAA certificate formats  and you will get the certificate you want for JoSAA. You can download required formats from this page. Do check for these documents before leaving your place... Click here to get the checklist for JoSAA counselling documents verification... Know more about first-round result 2018... Certificates Format JoSAA 2018 Format for Document Verification For admission to IITs and ISM The format for Document Verification For admission to IITs and ISM is given below. You will have to follow this pattern for JoSAA document Verification, click here to download... Format for Document Verification For admission to NITs, IIITs and Other-GFTIs For admission to NITs, IIITs and Other-GFTIs candidates will have to verify their doc...