## Path Finder

View as PDF

Points: 10 (partial)
Time limit: 1.0s
Java 8 2.0s
PyPy 2 2.0s
PyPy 3 2.0s
Memory limit: 512M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

You are given an grid with blocked squares and the others open. From an open square, you may move to any other open square that shares an edge with your current square. Please find out whether there is a path from to .

#### Constraints

Each given blocked square is unique, and the squares and will not be blocked.

No further constraints.

#### Input Specification

The first line will contain integers , , and .

The next lines will each contain integers and , representing that square is blocked.

#### Output Specification

Output one line containing YES if it is possible to reach from , or NO otherwise.

#### Sample Input 1

5 5 11
2 2
4 2
3 2
2 3
5 2
3 1
1 5
3 5
2 5
4 5
4 4

#### Sample Output 1

YES

#### Explanation for Sample 1

The following is a diagram for the grid given in Sample 1 (. marks open squares, while # marks blocked squares):

....#
.##.#
##..#
.#.##
.#...

It can be shown that there is a path from to in the grid above.

#### Sample Input 2

5 5 9
5 1
1 2
1 5
3 2
2 3
5 3
3 3
3 5
4 4

#### Sample Output 2

NO

#### Explanation for Sample 2

The following is a diagram for the grid given in Sample 2 (. marks open squares, while # marks blocked squares):

.#..#
..#..
.##.#
...#.
#.#..

It can be shown that there are no paths from to in the grid above.