#include #include using namespace std; vector > b;// списки суміжності vector b0;// список суміжеості однієї вершини int nv,ne,m, // вхідні дані з першого рядка v0, // корінь каркасного дерева - початкова вершина v, // поточна вершина l[9], // поточні номери ребер у списках суміжності i,j,k; // лічильники bool neo[9]; // мітки "нова вершина" ifstream fi; // оголошення потоку зчтитування з файлу fi ofstream fo; // оголошення потоку запису у файл fo void step(int v) { while (l[v] < b[v].size()) { int w=b[v][l[v]]; l[v]++; if (neo[w]) { neo[w]=false; fo<>nv>>ne; for (j=0; j>j>>k; b[j].push_back(k); b[k].push_back(j); } fi.close(); for (j=0; j