Fredo and his Birthday Gift

4.5

2 votes
Approved, Bit Manipulation, Dynamic Programming, Graphs, Medium, Ready
Problem

It was Fredo's birthday yesterday. He got a simple graph of N vertices and M edges as one of the birthday gifts. He has been bragging about his gift to all his friends. One of his friends asked him to do the following task on the graph:

For each of the vertices in the graph, find the maximum length simple path ending at that vertex.
Being unable to solve it himself, he asks you for help. Help Fredo!
Note: Length of a simple path= number of edges in the path.
A simple path is a path in a graph which does not have repeating vertices.

Input Format:

First line contains an integer T denoting the number of test cases.
First line of each test case consists of two space separated integers denoting N and M and the following M lines consist of two space separated integers X and Y denoting there is an edge between vertices X and Y.

Output Format:

For each test case, print for each vertex(starting from vertex 1) , length of the maximum length simple path ending at that vertex.

Constraints:
1T10
1N15
0M<N(N1)/2
1X,YN

Time Limit: 1
Memory Limit: 256
Source Limit:
Explanation

In the first case, there are no edges connecting the vertices, so the length of maximum length simple path = 0 for each vertex.
In the second case,
Simple paths ending at vertex 1: 4-2-1, 4-3-1, 2-1, so answer = 2
Simple paths ending at vertex 2: 1-2, 3-2, 4-2, so answer = 1
Simple paths ending at vertex 3: 1-2-3, 2-3, 4-2-3, so answer = 2
Simple paths ending at vertex 4: 1-2-4, 3-2-4, 2-4, so answer = 2

Editor Image

?