commit eac36eef984258e0892b35aa8b8a5ebabf5a77a7
parent 0a47ec4047cc8af7f4964237dda6ad9b5b7d3b9d
Author: Jachiet Louis <louis@jachiet.com>
Date:   Sat,  5 Apr 2014 13:10:38 +0200
.
Diffstat:
1 file changed, 25 insertions(+), 28 deletions(-)
diff --git a/contest/louis/louis.cpp b/contest/louis/louis.cpp
@@ -7,33 +7,31 @@
 using namespace std;
 
 
-class louis
-{
-
-  const int nbVoitures = 8 ;
-  const int nbSommets = 11348 ;
-  const int nbArcs = 17958 ;
-  const int nbSecondes = 54000 ;
-  const int depart = 4516 ;
-  const int INF = 1000 * 1000 * 100 ;
-  short use[nbSommets][nbSommets] ;
-  int cur_dist[nbSommets] ;
+const int nbVoitures = 8 ;
+const int nbSommets = 11348 ;
+const int nbArcs = 17958 ;
+const int nbSecondes = 54000 ;
+const int depart = 4516 ;
+const int INF = 1000 * 1000 * 100 ;
+short use[nbSommets][nbSommets] ;
+int cur_dist[nbSommets] ;
+int init ;
 
-  louis()
-  {
-    fill(use[0],use[nbSommets],-1);
-  }
-
-  // Renvoie la première intersection à utiliser
-  int go_to( int depart, int arrivee)
-  {
-    if(use[depart][depart] == -1)
-      return use[depart][arrivee] ;
-    fill(cur_dist,cur_dist+nbSommets,INF);
-    priority_queue<pair<int,int> > todo ;
-    use[depart][depart] = depart ;
-    todo.push(makepair(0,depart));
-    use[depart]
+// Renvoie la première intersection à utiliser
+int go_to( int depart, int arrivee)
+{
+  if(!init)
+    {
+      init = 1 ;
+      fill(use[0],use[nbSommets],-1);
+    }
+  if(use[depart][depart] == -1)
+    return use[depart][arrivee] ;
+  fill(cur_dist,cur_dist+nbSommets,INF);
+  priority_queue<pair<int,int> > todo ;
+  use[depart][depart] = depart ;
+  todo.push(makepair(0,depart));
+  use[depart]
     while(!todo.empty())
       {
 	pair<int,int> t = todo.top();
@@ -57,5 +55,4 @@ class louis
 	      }
 	  }
       }
-  }
-};
+}