Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding
Ninjas X Naukri.com

Problem of the day

You are given a graph that started as a tree with ‘N’ nodes (with distinct values 1, 2, ..., N), with one additional edge added. The added edge has two different vertices chosen from 1 to N and was not an edge that already existed. The resulting graph is given as a 2D-array of edges ARR of size NX2. Each element of edges is a pair [u, v] with u < v, which represents an undirected edge connecting nodes u and v.

For the given graph you are required to find an edge that can be removed such that the graph becomes a tree of N nodes.

Example:

```
Let’s say we have 3 edges that are {1 , 2} , {1 , 3} and {2 , 3}. So
the resulting graph from these edges will be :
1
/ \
2 - 3
If we remove the edge {2, 3} then the resulting graph will be a tree with N nodes.
```

Detailed explanation

```
The very first line of input contains an integer ‘T’ denoting the number of test cases.
The first line of every test case contains an integer ‘N’ denoting the number of nodes of the graph.
The second line of every test case contains a 2d array 'ARR' of NX2 size, which contains N edges of the graph.
```

```
For each test case, return that single edge that if removed, the resulting graph will be a tree of N nodes.
Output for each test case is printed on a separate line.
```

```
You do not need to print anything, it has already been taken care of. Just return an edge that can be removed so that the resulting graph is a tree of N nodes.
If there are multiple answers, return the answer that occurs last in the given 2D array ARR of size NX2. The answer edge [u, v] should be in the same format, with u < v.
```

```
1 <= T <= 10
3 <= N <= 10^3
1 <= ARR[i] <= N
Time Limit: 1 sec
```

```
2
3
1 2
1 3
2 3
3
1 2
2 3
1 3
```

```
2 3
1 3
```

```
For the first test case,
It is already explained above in the example.
For the second test case,
Let’s say we have 3 edges that are {1 , 2} , {2 , 3} and {1 , 3}. So
the resulting graph from these edges will be :
2
/ \
1 - 3
So here, unlike the previous example If we remove the edge {1, 3} which is the last occurring edge for the graph above only then the would resulting graph become a tree with N nodes.
```

```
2
5
1 2
2 3
3 4
1 4
1 5
4
1 2
1 3
3 4
1 4
```

```
1 4
1 4
```