coding•DSA & Problem Solving•Graphs & Backtracking
Rotting Oranges Grid Simulation
Problem Statement
You are given an `m x n` `grid` where each cell can have one of three values:
- `0` representing an empty cell,
- `1` representing a fresh orange, or
- `2` representing a rotten orange.
Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten.
Return the minimum number of minutes that must elapse until no cell has a fresh orange. If this is impossible, return `-1`.
### Constraints
- `m == grid.length`, `n == grid[i].length`
- `1 <= m, n <= 10`
- `grid[i][j]` is `0`, `1`, or `2`.
### Input Format
- Line 1: Two space-separated integers `m` and `n`.
- Next `m` lines: `n` space-separated integers (0, 1, or 2).
### Output Format
Print the minimum minutes, or -1.
Sample Cases
Example 1Sample Case
Input: 3 3
2 1 1
1 1 0
0 1 1
Output: 4
Example 2Sample Case
Input: 3 3
2 1 1
0 1 1
1 0 1
Output: -1
Example 3Sample Case
Input: 2 2
1 1
1 1
Output: -1
Example 4Sample Case
Input: 1 2
1 2
Output: 1
Constraints
Runtime Limit: 2000 ms per test batch
Memory Limit: 256 MB
Standard I/O stream reading
Official submissions are evaluated against hidden test cases on the server to verify time & memory complexity.