-void Graph::print_occupied_edges() {
- for(int n = 0; n < nb_vertices; n++) {
- for(Edge *e = vertices[n].first_edge; e; e = e->next) {
- if(e->occupied) {
- int a = n, b = e->terminal_vertex->id;
- if(a > b) { int c = a; a = b; b = c; }
- cout << a << " " << b << endl;
- }
- }
- }
-}
-
-void Graph::dot_print() {
- cout << "digraph {" << endl;
- cout << " node[shape=circle];" << endl;
- for(int n = 0; n < nb_vertices; n++) {
- for(Edge *e = vertices[n].first_edge; e; e = e->next) {
- int a = n, b = e->terminal_vertex->id;
- if(e->occupied) {
- int c = a; a = b; b = c;
- cout << " " << a << " -> " << b << " [style=bold,color=black,label=\"" << -e->length << "\"];" << endl;
- } else {
- cout << " " << a << " -> " << b << " [color=gray,label=\"" << e->length << "\"];" << endl;
- }
- }
- }
- cout << "}" << endl;
+scalar_t diff_in_second(struct timeval *start, struct timeval *end) {
+ return
+ scalar_t(end->tv_sec - start->tv_sec) +
+ scalar_t(end->tv_usec - start->tv_usec)/1000000;