matching.c
上传用户:gzelex
上传日期:2007-01-07
资源大小:707k
文件大小:1k
开发平台:

MultiPlatform

  1. #include <LEDA/graph_edit.h>
  2. #include <LEDA/graph_alg.h>
  3. main()
  4.   GRAPH<point,int> G;
  5.   window W;
  6.   edge e;
  7.   W.set_line_width(1);
  8.   W.set_node_width(12);
  9.   graph_edit(W,G,false);
  10.   for(;;)
  11.   { 
  12.     list<edge> L = MAX_CARD_MATCHING(G);
  13.     // show matching
  14.     W.set_line_width(5);
  15.     forall(e,L) W.draw_edge(G[source(e)],G[target(e)]);       
  16.     W.message("MAX_CARD_MATCHING");
  17.     W.message("(press left button to return to graph edit)");
  18.     if (W.read_mouse() != 1) break;
  19.     W.del_messages();
  20.     // restore picture
  21.     forall(e,L) W.draw_edge(G[source(e)],G[target(e)],white); 
  22.     W.set_line_width(1);
  23.     forall(e,L) W.draw_edge(G[source(e)],G[target(e)]);
  24.     graph_edit(W,G,false,false);     // 2nd false: do not clear window
  25.  
  26.    }
  27.   return 0;
  28. }