# Number of Islands II

Posted: 21 Mar, 2021

Difficulty: Hard

#### You have a 2D grid of ‘N’ rows and ‘M’ columns which are initially filled with water. You are given ‘Q’ queries each consisting of two integers ‘X’ and ‘Y’ and in each query operation, you have to turn the water at position (‘X’, ‘Y’) into a land. You are supposed to find the number of islands in the grid after each query.

#### An island is a group of lands surrounded by water horizontally, vertically, or diagonally.

##### Input Format:

```
The first line contains an integer ‘T’ denoting the number of test cases.
The first input line of each test case contains two single space-separated integers ‘N’ and ‘M’ representing the number of rows and columns of the grid, respectively.
The second line of each test case contains an integer ‘Q’ representing the number of queries.
Next ‘Q’ lines contain two single space-separated integers ‘X’ and ‘Y’, representing the coordinates of the grid i.e the coordinates of the point to be turned into land.
```

##### Output Format:

```
For each test case, print a single integer denoting the number of islands after each query operation.
Print the output of each test case in a separate line.
```

##### Note:

```
You are not required to print the expected output; it has already been taken care of. Just implement the given function.
```

##### Constraints:

```
1 <= T <= 5
1 <= N <= 1000
1 <= M <= 1000
1 <= Q <= 100000
0 <= X < N
0 <= Y < M
Time limit: 1 sec
```

SIMILAR PROBLEMS

Rotate Clockwise

Posted: 19 Apr, 2022

Difficulty: Easy

SudoKube

Posted: 18 May, 2022

Difficulty: Ninja

SudoKube

Posted: 18 May, 2022

Difficulty: Ninja

Good Bad Graph

Posted: 26 May, 2022

Difficulty: Hard

Ninja and the experiment

Posted: 5 Sep, 2022

Difficulty: Moderate

COUNT ISLANDS

Posted: 14 Sep, 2022

Difficulty: Moderate