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