Strange Printer II
There is a strange printer with the following two special requirements:
- On each turn, the printer will print a solid rectangular pattern of a single color on the grid. This will cover up the existing colors in the rectangle.
- Once the printer has used a color for the above operation, the same color cannot be used again.
You are given an m x n matrix targetGrid, where targetGrid[row][col] is the color in the position (row, col) of the grid.
Return true if it is possible to print the matrix targetGrid; otherwise, return false.
Example 1
1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1
Input
targetGrid = [[1,1,1,1],[1,2,2,1],[1,2,2,1],[1,1,1,1]]Output
trueThe target grid can be formed by printing rectangles in an order that respects the one-use-per-color rule.
Example 2
1 1 1 1 1 1 3 3 1 1 3 4 5 5 1 4
Input
targetGrid = [[1,1,1,1],[1,1,3,3],[1,1,3,4],[5,5,1,4]]Output
trueThe target grid can be formed by printing each needed color once in a valid order.
Constraints
- m == targetGrid.length
- n == targetGrid[i].length
- 1 <= m, n <= 60
- 1 <= targetGrid[row][col] <= 60