Two pixels are adjacent if they are connected to each other in any of the four directions: up, down, left, or right.
Diagonal pixels are not considered adjacent.
Consider the image of size 4*4, shown below (left). Let the coordinates of the starting pixel are (1, 2) and the new color is 8. The starting pixel, highlighted with red color, has a pixel value of 3.
On replacing the given pixel and all adjacent same-colored pixels with the new color we get the new image, shown below (right). The modified pixels are highlighted with green color.
The first line of input contains an integer ‘T’ representing the number of test cases.
The first line of every test case contains two space-separated integers ‘M’ and ‘N’ representing the number of rows and columns in the image.
Each of the next ‘M’ lines contains ‘N’ space-separated integers denoting the pixel values of the image.
The next line contains three space-separated integers ‘X’, ‘Y’, and ‘C’ denoting the row and column of the starting pixel and the new color, respectively.
For each test case, the newly colored image is printed in the form of an M * N Matrix.
You do not need to print anything, it has already been taken care of. Just implement the given function.
1 <= T <= 100
1 <= M, N <= 50
0 <= X < M
0 <= Y < N
1 <= Image[i][j], C <= 10^5
Time Limit: 1 sec
Algorithm:
This approach is similar to the previous one but instead of using recursion/DFS, we use BFS to traverse the image.
Algorithm:
The Summit
Distance to a Cycle in Undirected Graph
Search In A Sorted 2D Matrix
Spiral Matrix
Spiral Matrix
Spiral Matrix
8-Queen Problem