In the example given as input, the graph has 6 nodes and 7 edges. Each subsequent line represents an edge between two nodes. The graph is represented as follows:
0---1---3---5
\ / \ /
2---4----
The program assumes that the graph in question is undirected and unweighted. It doesn't matter if the graph is cyclic or acyclic. Program expects the starting node in order to proceed. All possible results are given in the dfs_result.txt file.