06f8e40a12
[SVN r63554]
41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
// (C) Copyright Andrew Sutton 2007
|
|
//
|
|
// Use, modification and distribution are subject to the
|
|
// Boost Software License, Version 1.0 (See accompanying file
|
|
// LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
//[tiernan_girth_circumference
|
|
#include <iostream>
|
|
|
|
#include <boost/graph/directed_graph.hpp>
|
|
#include <boost/graph/tiernan_all_cycles.hpp>
|
|
|
|
#include "helper.hpp"
|
|
|
|
using namespace std;
|
|
using namespace boost;
|
|
|
|
// Declare the graph type and its vertex and edge types.
|
|
typedef directed_graph<> Graph;
|
|
typedef graph_traits<Graph>::vertex_descriptor Vertex;
|
|
typedef graph_traits<Graph>::edge_descriptor Edge;
|
|
|
|
int
|
|
main(int argc, char *argv[])
|
|
{
|
|
// Create the graph and read it from standard input.
|
|
Graph g;
|
|
read_graph(g, cin);
|
|
|
|
// Compute the girth and circumference simulataneously
|
|
size_t girth, circ;
|
|
boost::tie(girth, circ) = tiernan_girth_and_circumference(g);
|
|
|
|
// Print the result
|
|
cout << "girth: " << girth << endl;
|
|
cout << "circumference: " << circ << endl;
|
|
|
|
return 0;
|
|
}
|
|
//]
|