# DCP-3: Maze Tester Back to All Problems

Easy Graph Theory > Breadth First Search/Depth First Search

We are developing a game where player has to cross a maze to reach his/her destination. If he/she can reach destination then he/she will win that maze. There will be many mazes that user can conquer one by one. We are using a maze generator engine to generate these mazes. The engine generates a random maze in every stage. But the problem is, some of these random mazes can be invalid as there may not be any path for the player to reach the destination. Players will get annoyed if they receive such an invalid maze in the game so we want to discard such invalid maze and generate only valid mazes. To achieve this, we need to write a maze tester that can test a randomly generated maze and can tell whether it is valid maze or not. Let’s see whether you can help us or not. Input: ------ Input will consist of many mazes. Each maze will be **30x30** in dimension. Each **‘.’** Indicates a valid step for the player and each **‘X’** indicates an obstacle. **‘P’** is the starting position of the player and ‘G’ is the destination of the player. Boundary of the maze is marked with either **‘|’** or **‘-‘**. These boundaries are also unreachable and invalid for movement. Player can only move in 4 directions, up, down, left and right. It can’t move diagonally. Input is terminated by End of File. Output: ------- If the maze is valid then print **“Possible”** (without quotation) and if the maze is invalid then print **“Impossible”** (without quotation) in a separate line for each maze. Sample Input ------------ ------------------------------ |............................| |............................| |............................| |............................| |............................| |............................| |...........P................| |............................| |............................| |............................| |XXXXXXXXXXXX................| |...........XXXXXXXXXXXXXXXX.| |......................X.....| |......................XXX.XX| |............................| |............................| |............................| |............................| |............................| |............................| |............................| |............................| |............................| |............................| |......G.....................| |............................| |............................| |............................| ------------------------------ ------------------------------ |............................| |............................| |............................| |............................| |............................| |............................| |........X...................| |........X...................| |........X...................| |........X...................| |........X...................| |........XXXXXX..............| |...............XXXX.........| |..XXXXXXXXX....X..X.........| |..X.......X.G..X..X.........| |..X..XXXX.X....X..X.........| |..X.....X.XXXXXX..X.........| |..X...P.X.........X.........| |..XXXXXXX.........X.........| |..................X.........| |............................| |............................| |............................| |............................| |............................| |............................| |............................| |............................| ------------------------------ ------------------------------ |...X......................XP| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.XXXXXXXXXXXXXXXXXXXXXXXX.| |.X..........................| |.XXXXXXXXXXXXXXXXXXXXXXXXXX.| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |GX..........................| ------------------------------ ------------------------------ |.X.X......................XP| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.X......................X.| |.X.XXXXXXXXXXXXXXXXXXXXXXXX.| |.X..........................| |.XXXXXXXXXXXXXXXXXXXXXXXXXX.| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |.X..........................| |GX..........................| ------------------------------ Sample Output ------------- Possible Possible Possible Impossible

### Problem Limits

 Language Time Limit (seconds) C 1.00 C++ 1.00 C++14 1.00 C# 2.00 Go 2.00 Java 2.00 JavaScript 2.00 Objective-C 2.00 Perl 2.00 PHP 2.00 Python 2.00 Python3 2.00 Ruby 2.00 VB.Net 2.00

# 90/265

Solve/Submission

### Ranking

# User Language Timing
01 mir003 Cpp14 0.00s
02 khmahbub20 C 0.00s
03 feodorv C 0.00s
04 Robbinb1993 Cpp 0.00s
06 traveller42 Cpp 0.01s
07 sj_rifat Cpp 0.01s
08 shuvo_mbstu Cpp 0.01s
09 Kanda Cpp 0.01s
10 jayed_al_hasan Cpp 0.01s
11 BlueEye Cpp14 0.01s
13 Jisancse Cpp 0.01s
14 Morass Cpp14 0.01s
15 twyu0721 Cpp 0.01s
16 MRoy Cpp 0.01s
17 dip_BRUR Cpp14 0.01s
18 rayhan50001 Cpp14 0.01s
19 subhashis_cse Cpp14 0.01s
20 MAHRahat Cpp14 0.01s
21 seyedssz Cpp14 0.01s
22 rajdipsaha Cpp14 0.02s
23 hrOarr Cpp14 0.02s
24 mahbub07 Cpp14 0.02s
25 emrul Cpp14 0.02s
26 anik_JU Cpp14 0.02s
27 _dipu Cpp14 0.02s
28 prantacse14 Cpp14 0.02s
29 nazmul_bzs Cpp14 0.02s
30 bu_hridoy Cpp 0.02s
32 SakibAlamin Cpp 0.02s
33 enaim Cpp 0.02s
34 smsaleque Cpp14 0.02s
35 muntasir10mu Cpp 0.03s
36 asfak Cpp 0.03s
37 noyonhossen CSharp 0.03s
38 ICT_backbencher CSharp 0.03s
39 prateepm Cpp14 0.03s
40 isakib Cpp 0.03s
41 Bruteforcekid Cpp 0.03s
42 pulak_ict_mbstu Cpp14 0.03s
43 Tamim028 Cpp 0.03s
44 SbrTa Cpp14 0.03s