src/work/akos/loader_demo.cc
author athos
Tue, 04 May 2004 16:52:15 +0000
changeset 530 d9c06ac0b3a3
parent 63 8a39e8b9cdd7
child 921 818510fa3d99
permissions -rw-r--r--
Minimum cost flows of small values: algorithm from Andras Frank's lecture notes (approximately)
ladanyi@63
     1
#include <vector>
ladanyi@63
     2
#include <iostream>
ladanyi@63
     3
#include <list_graph.hh>
ladanyi@63
     4
#include <bfs_iterator.hh>
ladanyi@63
     5
#include <loader.h>
ladanyi@63
     6
alpar@106
     7
using namespace hugo;
ladanyi@63
     8
ladanyi@63
     9
int main(int, char **) {
ladanyi@63
    10
  typedef ListGraph::NodeIt NodeIt;
ladanyi@63
    11
  typedef ListGraph::EdgeIt EdgeIt;
ladanyi@63
    12
  typedef ListGraph::EachNodeIt EachNodeIt;
ladanyi@63
    13
  typedef ListGraph::EachEdgeIt EachEdgeIt;
ladanyi@63
    14
  typedef ListGraph::OutEdgeIt OutEdgeIt;
ladanyi@63
    15
  typedef ListGraph::InEdgeIt InEdgeIt;
ladanyi@63
    16
  typedef ListGraph::SymEdgeIt SymEdgeIt;
ladanyi@63
    17
ladanyi@63
    18
  ListGraph G;
ladanyi@63
    19
  LoadGraph(G, "demo.in");
ladanyi@63
    20
ladanyi@63
    21
  std::cout << "bfs from the first node" << std::endl;
ladanyi@63
    22
  bfs<ListGraph> bfs_test(G, G.first<EachNodeIt>());
ladanyi@63
    23
  bfs_test.run();
ladanyi@63
    24
  std::cout << "reached: ";
ladanyi@63
    25
  for(EachNodeIt i=G.first<EachNodeIt>(); i.valid(); ++i) {
ladanyi@63
    26
    std::cout << bfs_test.reached.get(i) << " ";
ladanyi@63
    27
  }
ladanyi@63
    28
  std::cout<<std::endl;
ladanyi@63
    29
  std::cout << "dist: ";
ladanyi@63
    30
  for(EachNodeIt i=G.first<EachNodeIt>(); i.valid(); ++i) {
ladanyi@63
    31
    std::cout << bfs_test.dist.get(i) << " ";
ladanyi@63
    32
  }
ladanyi@63
    33
  std::cout<<std::endl;
ladanyi@63
    34
}