TomoLink
CompaniesNetflixData Structures & AlgorithmsPaths in Matrix Whose Sum Is Divisible by K
DSA
HardArray

Paths in Matrix Whose Sum Is Divisible by K

arraydynamic programmingmatrix

Problem Statement

You are given a 0-indexed m x n integer matrix grid and an integer k . You are currently at position (0, 0) and you want to reach position (m - 1, n - 1) moving only down or right .

Return the number of paths where the sum of the elements on the path is divisible by k . Since the answer may be very large, return it modulo 10 ^9 + 7 .

Examples

Example 1
Input: grid = [[5,2,4],[3,0,5],[0,7,2]], k = 3
Output: 2
There are two paths where the sum of the elements on the path is divisible by k. The first path highlighted in red has a sum of 5 + 2 + 4 + 5 + 2 = 18 which is divisible by 3. The second path highlighted in blue has a sum of 5 + 3 + 0 + 5 + 2 = 15 which is divisible by 3.
Example 2
Input: grid = [[0,0]], k = 5
Output: 1
The path highlighted in red has a sum of 0 + 0 = 0 which is divisible by 5.
Example 3
Input: grid = [[7,3,4,9],[2,3,6,2],[2,3,7,0]], k = 1
Output: 10
Every integer is divisible by 1 so the sum of the elements on every possible path is divisible by k.

Constraints

m == grid.length
n == grid[i].length
1 <= m, n <= 5 * 10 ^4
1 <= m * n <= 5 * 10 ^4
0 <= grid[i][j] <= 100
1 <= k <= 50
😤
Hard
Difficulty
Topic Info
ModuleDSA
CategoryArray
Sub-topicDynamic Programming
Tags
arraydynamic programmingmatrix
Navigation
Paths in Matrix Whose Sum Is Divisible by K [Hard] | Netflix Dsa | TomoLink