[Lemon-commits] [lemon_svn] ladanyi: r1414 - hugo/trunk/src/work/akos

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:45:15 CET 2006


Author: ladanyi
Date: Mon Nov 29 17:11:51 2004
New Revision: 1414

Added:
   hugo/trunk/src/work/akos/k_cover.cc

Log:
Added this in order to prevent losing it.

Added: hugo/trunk/src/work/akos/k_cover.cc
==============================================================================
--- (empty file)
+++ hugo/trunk/src/work/akos/k_cover.cc	Mon Nov 29 17:11:51 2004
@@ -0,0 +1,58 @@
+#include <lemon/list_graph.h>
+
+using namespace lemon;
+
+typedef ListGraph Graph;
+typedef Graph::NodeIt NodeIt;
+typedef Graph::EdgeIt EdgeIt;
+
+class MyEntity {
+public:
+  Graph &g;
+  Graph::NodeMap<bool> selected;
+  int edges;
+  int covered_edges;
+
+  MyEntity(Graph &_g) : g(_g), selected(_g) {}
+  MyEntity(MyEntity& e) : g(e.g), selected(e.g) {
+    for (NodeIt n(g); n != INVALID; ++n) {
+      selected[n] = e.selected[n];
+    }
+    edges = e.edges;
+    covered_edges = e.covered_edges;
+  }
+  double getCost() {
+    return (double) (edges - covered_edges);
+  }
+  void mutate() {
+  
+  }
+  void revert() {
+  
+  }
+};
+
+int main() {
+  Graph g;
+  // beolvasas
+  MyEntity ent(g);
+
+  // kezdeti lefedes generalasa
+  int nn = 0;
+  for (NodeIt n(g); n != INVALID; ++n) {
+    ent.selected[n] = false;
+    nn++;
+  }
+  // k db random node kivalasztasa
+
+  int i = 0, j = 0;
+  for (EdgeIt e(g); e != INVALID; ++e) {
+    i++;
+    if ((ent.selected[g.source(e)]) || (ent.selected[g.target(e)])) {
+      j++;
+    }
+  }
+  ent.edges = i;
+  ent.covered_edges = j;
+
+}



More information about the Lemon-commits mailing list