// Los grafos pequeños de los apuntes.
#ifndef SAMPLE_GRAPHS_H
#define SAMPLE_GRAPHS_H

#include <iostream>
#include <vector>

#include "graph.h"

// El grafo de la clase: 7 nodos y 8 aristas. Tiene ciclos.
inline Graph class_graph() {
    Graph graph(7);
    graph.add_edge(0, 1);
    graph.add_edge(0, 2);
    graph.add_edge(1, 3);
    graph.add_edge(2, 3);
    graph.add_edge(2, 4);
    graph.add_edge(3, 5);
    graph.add_edge(4, 5);
    graph.add_edge(5, 6);
    return graph;
}

inline void print_nodes(const std::vector<int>& nodes) {
    for (std::size_t i = 0; i < nodes.size(); i++) {
        std::cout << (i == 0 ? "" : " ") << nodes[i];
    }
    std::cout << "\n";
}

#endif
