Given **N** nodes and **E **edges of a graph. The task is to do depth first traversal of the graph.

**Note:** Use recursive approach.

**Input:**

First line of input contains number of testcases T. For each testcase. First line of each testcase contains number of nodes and edges seperated by space and next line contains N pairs of integers (X and Y each) where X Y means an edge from X to Y.

**Output:**

For each testcase, print the nodes while doing DFS** **starting from node 0.

**Your task:**

The task is to complete the function **dfs**() which should do the depth first traversal of given graph and prints the node in DFS order.

**Constraints:**

1 <= T <= 100

1 <= N <= 500

**Example:
Input:**

2

5 4

0 1 0 2 0 3 2 4

4 3

0 1 1 2 0 3

**Output:**

0 1 2 4 3 // dfs from node 0

0 1 2 3

**Explanation:
Testcase 1:** There is one test cases. First line of each test case represent an integer N denoting number of edges and then in the next line N pairs of values

Author: Shubham Joshi 1

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

hardikJain5 | 110 |

CodeBuddy | 107 |

Akkki111 | 100 |

saurabhgrade1 | 98 |

WrongAnswer | 80 |

KshatriyaYash | 1932 |

nikhil_sojan | 1374 |

lonecoder | 1236 |

SumitSingh27 | 1103 |

mazumderrohit8 | 1095 |

blackshadows | 5327 |

Ibrahim Nash | 5219 |

akhayrutdinov | 5111 |

mb1973 | 4566 |

Quandray | 4444 |

Login to report an issue on this page.