#include #include #include using namespace boost; #include using namespace std; int main() { typedef adjacency_list > Graph; Graph graph; Graph::vertex_descriptor v1, v2, v3, v4; v1 = add_vertex(graph); v2 = add_vertex(graph); v3 = add_vertex(graph); v4 = add_vertex(graph); Graph::edge_descriptor e; e = add_edge(0, 1, graph).first; put(edge_weight, graph, e, 1); e = add_edge(1, 2, graph).first; put(edge_weight, graph, e, 1); e = add_edge(3, 1, graph).first; put(edge_weight, graph, e, 5); vector_property_map distance; dag_shortest_paths(graph, 0, distance_map(distance) .distance_compare(std::greater()) .distance_inf(std::numeric_limits::min()) .distance_zero(0)); cout << distance[2] << "\n"; }