Submit solution

Points: 10 (partial)
Time limit: 1.0s
Memory limit: 256M

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

These problems are from the atcoder DP contest, and were transferred onto DMOJ. All problem statements were made by several atcoder users. As there is no access to the test data, all data is randomly generated. If there are issues with the statement or data, please contact Rimuru or Ninjaclasher on slack.

There is a grid with H horizontal rows and W vertical columns. Let (i, j) denote the square at the i-th row from the top and the j-th column from the left.

For each i and j\ (1 \le i \le H, 1 \le j \le W). Square (i, j) is described by a character a_{i,j}. If a_{i,j}is ., square (i, j) is an empty square; if a_{i,j} is #, square (i, j) is a wall square. It is guaranteed that squares (1, 1) and (H, W) are empty squares.

Taro will start from square (1, 1) and reach (H, W) by repeatedly moving right or down to an adjacent empty square.

Find the number of Taro's paths from square (1, 1) to (H, W). As the answer can be extremely large, find the count modulo 10^9+7.

Constraints

  • H and W are integers
  • 2 \le H, W \le 1000
  • a_{i,j} is . or #
  • Squares (1,1) and (H,W) are empty squares

Input Specification

The first line will contain 2 space separated integers, H and W.

The next H lines will each contain W characters, either a . or #.

Output Specification

Print the number of Taro's paths from square (1, 1) to (H, W), modulo 10^9+7.

Sample Input 1

3 4
...#
.#..
....

Sample Output 1

3

Explanation For Sample 1

There are three paths as follows:

Sample Input 2

5 2
..
#.
..
.#
..

Sample Output 2

0

Explanation For Sample 2

There may be no paths.

Sample Input 3

5 5
..#..
.....
#...#
.....
..#..

Sample Output 3

24

Sample Input 4

20 20
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................

Sample Output 4

345263555

Explanation For Sample 4

Be sure to print the count modulo 10^9+7.


Comments


  • 5
    RyanLi  commented on Jan. 19, 2020, 12:08 p.m. edited

    Note: There is an issue with the test data where the starting/ending cell is a wall and not an empty cell

    Edit: The issue has been fixed