Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void dfs(int **matr, int *viewed, int n, int v) {
- viewed[v] = 1;
- for (int j = 0; j < n; ++j) {
- if (matr[v][j] and !viewed[j]) {
- cout << v+1 << " " << j+1 << endl;
- dfs(matr, viewed, n, j);
- }
- }
- }
- int main() {
- int n, m;
- cin >> n;
- cin >> m;
- // Initialization
- int **matr = new int *[n];
- for (int i = 0; i < n; ++i) { matr[i] = new int[n]; for(int j = 0; j < n; ++j){matr[i][j] = 0;}}
- int *viewed = new int[n];
- for (int i = 0; i < n; ++i) { viewed[i] = 0; }
- // End of Initialization (Like "End of Civilization")
- // {Hello from Nibiru (https://utro.ru/internet/2019/05/20/1400576.shtml)}
- int I, J;
- for (int i = 0; i < m; ++i) {
- cin >> I >> J;
- matr[I-1][J-1] = 1;
- matr[J-1][I-1] = 1;
- }
- dfs(matr, viewed, n, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement