coding•DSA & Problem Solving•Graphs & Backtracking
Number of Provinces
Problem Statement
There are `n` cities. Some of them are connected, while some are not. If city `a` is connected directly with city `b`, and city `b` is connected directly with city `c`, then city `a` is connected indirectly with city `c`.
A province is a group of directly or indirectly connected cities and no other cities outside of the group.
You are given an `n x n` matrix `isConnected` where `isConnected[i][j] = 1` if the `i`th city and the `j`th city are directly connected, and `isConnected[i][j] = 0` otherwise.
Return the total number of provinces.
### Constraints
- `1 <= n <= 200`
- `n == isConnected.length == isConnected[i].length`
- `isConnected[i][j]` is `1` or `0`.
- `isConnected[i][i] == 1`
- `isConnected[i][j] == isConnected[j][i]`
### Input Format
- Line 1: An integer `n`.
- Next `n` lines: `n` space-separated integers (0 or 1).
### Output Format
Print the number of provinces.
Sample Cases
Example 1Sample Case
Input: 3
1 1 0
1 1 0
0 0 1
Output: 2
Example 2Sample Case
Input: 3
1 0 0
0 1 0
0 0 1
Output: 3
Example 3Sample Case
Input: 3
1 1 1
1 1 1
1 1 1
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.