From 314768bec6a207132357875b1015cdec0a11290d Mon Sep 17 00:00:00 2001
From: clupus <154858@sch.bme.hu>
Date: Sun, 10 Oct 2021 18:37:21 +0200
Subject: [PATCH] Mokudik nem rekurzivan, de nem eleg gyors az mi hazihoz...

---
 GG2DP5_hf01.zip  | Bin 1651 -> 1596 bytes
 input4           |   2 +-
 mi_GG2DP5_hf1.py |  42 ++++++++++++++----------------------------
 3 files changed, 15 insertions(+), 29 deletions(-)

diff --git a/GG2DP5_hf01.zip b/GG2DP5_hf01.zip
index 25b7423e61914151b2e2538fbd2e2ff232668e39..e9faf25b8660fd58272dcb02dabaa23997e81489 100644
GIT binary patch
delta 1558
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

delta 1604
zcmdnP^O>hUz?+#xgn@y9gJD6hSMVFz?#X*u85kamFfa%($S~w)#=E;4xdfQTXQUbG
z6;y_Xa56Agb0sI*aU~~~R&X;gvb<nsU;q<q!=u+fG83qK9)9M~VW!iY970!Gy?W`r
z`&Rp^t6o#91YIXO^ZZcRxbkhlf>-tLedcsCE4I(8x2<zHIP-T+@yUdO=P!8~9=PY7
zJ5-cyS(E>RuTFGhsMNi~%l*6M?do|;WS%B%o8kX_^UF8VJ1Qr9%6n@&@!iyI34Y6J
zd}iMLI)~%Olob<H3lgF>7(8U-S~ulw^VUhy8(ZBY)>TENPGb*a&7QXA?$tQX%!wW^
zJv`DTUSG_!^Y85XV#y~i|D?Zr1Z`rOxk%w*QFb}2r@qiJqn%|bOLxm3p5T0H=@UbP
z8`_znJT?z!Ni$lfo|)M>&#|<1LR<E1pLJ^kHWlSE?2m90eCV^j{K1-A8B?9|-muK*
zNzmqd5pd$#5<~Twhw{CSvzf%F-+J)cE8r~mnL_W@M{94rZ@uHBwzl4*>$~En&0qW6
z_jcqf2>EZ^IE#0pu8i%M6Ol#9C&ONxlwtdDM0l!A>PMElcjg%sOU(;NRZA8S^PMV_
zRM$6w=`rKpn5G*%k~VgeT*U2uNF3)d<C<~y#QYgb?Fl6dx9k-PzaBYr)8BcgGa{Cy
zO0IJg{h6@-;_}3L8#(7AhjV^2)NecxvqY<~N@(BJR|+3uIcBDA;}^cs(PFP8vHX}@
z%<HIG&&)0x{h$3m=RyjjQ&U>e>GsW>U6T)+mGr7@P>5%j5MCFl<T`UR_o44zeg|A9
z&DC^~;SAn)x3hVZ*v2MJecKbQGd6pjo$0Q1Z>4d-rmK-p*CosgW)yKP+4L~uQ2CyE
zK25d7XD2O<m{`Z=dhPV%LwzTghp_ZrzANZ<OLgz;WIw5(fXt~IX4~v!wAVhV@3Wv-
zygc*G?pbrzu5;PiaAfsIyP{;)JIU`>Fk6c@2%dLJ`=cc@b>+UbAKu#bg@tZOX5sTP
zY-)EG+~zjhl|zQ*h@<BbStX8-OL|;asOTt8cv3%gyIDlRN#Sc+O<vjGW__%a%RKQn
zE8_QmkKaOb?)Gn*-PtalHt*BFs%KW4gA`q7Ep2SCmpU4(Xm0zw<=DO+Tgm4yuX(bH
zTYZm;>iwU-?qs;XE^AnrsHx8^^~KR!FW*Zpp2m4*FGq>S%0D7=Rc|RO%2$3bu0L@z
z@eSV>>l*?L^{oX=4|V3B-FNWAvW7G}ySh{AjAnIbH$<I!$fI*pOE+g$Vr;ft`Y#<m
z9(K-e%(ISPJurJgyvc;qjJ?gQPEk=(7N<7<;9Fk(c$=!#x>gb8S<84&ol5nZcZkun
z%(5<Wc9TMV=l&{t1CxWNp0&*i+>;pnY}cJo$t@3V1YZf7ox7o4?CPdT?oX^|R2Hlj
zTPzkAHC4)L!>&)cr$m?De%01$kfszq`S9x8(kFrs-nX}YpI_AI@49)hmgTR|Abq8y
zPByc2Y+mcH>SD2tNpllWkT#ljeBHEQy`;^{-rE@dsaz)WXz%a0i)Vcl*%tcntXV<2
z=ytP4vwPV-F>bj<lE<Gph19bq&s8vK+iJRV`oE>kfv-(;wijP7d|2M$t#EPL>u;I2
z<YJ8z+N4gzMYPRrmb@dg^XbXH`NiKJ?{T;xsxm!ikA|<kUS3eEoM@xDiSv}7a*<uP
z8UK6?VxHR&yu7ot#(%C`RY~hib)(NNX<}t{`wR}=-R;k4E^{{i7GM8k<wH;EP3(HR
zf}ZPez1XZRP&7Ys)wgYx-=?;|PR`5pi@AGMey8fKlhc*^_T4<ez2W?|Wy{1i&sjS!
zu=BP2J-Ov+^EuYE*yrAF&SE~k&+|m<BJSPq7R_6qSNXAr{j>h32VCsut3K)+@3xKH
z<D@rB``%p5muaj1Dyk?mONG|uO;0|3_tN+J!2M@EXW3uB|4RA%-I_yt3Ma3heJQv-
znzQuL_Wx((mUW-qpTB&CSoQ{2hTLrBH6C4&sxPa=_WG<l-6$>U=Onm#3TLF-i&e~D
zUj3M^-5`F->cGEqG0jhpUC??VHT9Zr73=eA6?4YRXD_CEo-$i=f6tLdujVZmJ2mV}
z?wf@iWoy!P*ffQmQCI1&!h#2Ej`v-!yZ*8d@MdI^W5!k~On$|x$yCiXS(HtYjh&5w
Hfq?-4Q)cft

diff --git a/input4 b/input4
index 7a12b0f..50086a2 100644
--- a/input4
+++ b/input4
@@ -910,4 +910,4 @@
 52	489
 -128	298
 159	409
--14	42
\ No newline at end of file
+-14	42
diff --git a/mi_GG2DP5_hf1.py b/mi_GG2DP5_hf1.py
index 7d29627..71a6853 100644
--- a/mi_GG2DP5_hf1.py
+++ b/mi_GG2DP5_hf1.py
@@ -52,29 +52,6 @@ def dijkstra(a, b):
             if( length +  distance[a] < distance[route_between_points[i]]):
                 distance[route_between_points[i]] = length + distance[a]
 
-
-    minimum_distance = math.inf
-    corresponding_point = None
-    cntr = 0
-    i = 0
-    #print("*** debug: " + str(len(seen)), file=sys.stderr)
-    for i in range(0, len(seen), 1):
-        #print("*** debug: " + str(distance[i]), file=sys.stderr)
-        #print("*** debug: " + str(seen[i]), file=sys.stderr)
-        #print("*** /debug ******* ", file=sys.stderr)
-        if(seen[i] == 0 and (distance[i] != None)):  #Meghivni ra a dijkstra algoritmust rekurzivan, ha mar szamoltuk, de ne jartunk meg benne
-            cntr += 1
-            #print("*** debug: talalt pontot amiben meg nem volt", file=sys.stderr)
-            if(distance[i] < minimum_distance):     # Es legkisebb a tavolsaga eddig
-                minimum_distance = distance[i]
-                corresponding_point = i
-
-    if(cntr > 0):
-        dijkstra(corresponding_point, b)
-            
-
-
-
 def route_search():
     asd = len(point_coordinates)
     asd = asd/2
@@ -90,14 +67,23 @@ def route_search():
         for i in range(asd):
             seen.append(0)
 
-        #print("**** debug: " + str(distance), file=sys.stderr)
-        #print("**** debug: " + str(seen), file=sys.stderr)
-
-        dijkstra(route_to_calc[x], route_to_calc[x+1])
+        for y in range(map_config[1]):
+            minimum_distance = math.inf
+            corresponding_point = None
+            cntr = 0
+            i = 0
+            for i in range(0, len(seen), 1):
+                if(seen[i] == 0 and (distance[i] != None)):  #Meghivni ra a dijkstra algoritmust rekurzivan, ha mar szamoltuk, de ne jartunk meg benne
+                    cntr += 1
+                    if(distance[i] < minimum_distance):     # Es legkisebb a tavolsaga eddig
+                        minimum_distance = distance[i]
+                        corresponding_point = i
+
+            if(cntr > 0):
+                dijkstra(corresponding_point, route_to_calc[x+1])
 
         distance.clear()
         seen.clear()
-    
 
 def calc_route_length(a, b):
     
-- 
GitLab