#inlcude #include #include using namespace std; const int max_nodes = 100, max_edges; vector > adj[max_nodes]; bool cut[max_edges], seen[max_edges]; void mark_cut_edges(){ //set the cut of the cut edges true and others false //cut edges should be determined on the graph of edges which haven't been seen yet } void trail(int node){ mark_cut_edges(); bool could_exit = false; for(int i = 0; i < adj[node].length(); i++){ int edge = adj[node][i]; if(!seen[edge.secend] && cut[edge.second]){ cout<> n>> m; for(int i = 0; i < m; i++){ int x, y; cin>> x>> y; x--; y--; adj[x].push_back(make_pair(y, i)); adj[y].push_back(make_pair(x, i)); } trail(0); }