From 6335e796faa7e72203ff041cbe9c6a08bf5ac2b3 Mon Sep 17 00:00:00 2001 From: noah Date: Tue, 8 Mar 2022 16:10:37 -0600 Subject: [PATCH] Finishing recursion calls, adding line holder map --- .../HLlib.dir/compiler_depend.internal | 28 +++++- .../CMakeFiles/HLlib.dir/compiler_depend.make | 72 +++++++++++++- .../HLlib.dir/src/HiddenLines.cpp.o | Bin 25392 -> 32464 bytes .../HLlib.dir/src/HiddenLines.cpp.o.d | 28 +++++- .../linelib.dir/compiler_depend.internal | 13 +++ .../linelib.dir/compiler_depend.make | 43 ++++++++- build/CMakeFiles/linelib.dir/src/Line.cpp.o | Bin 2704 -> 2928 bytes build/CMakeFiles/linelib.dir/src/Line.cpp.o.d | 11 ++- build/CMakeFiles/main.dir/src/main.cpp.o | Bin 5840 -> 6544 bytes build/CMakeFiles/main.dir/src/main.cpp.o.d | 8 +- build/libHLlib.a | Bin 26932 -> 34520 bytes build/liblinelib.a | Bin 3230 -> 3454 bytes build/main | Bin 38976 -> 39680 bytes src/HiddenLines.cpp | 90 ++++++++++++++---- src/HiddenLines.h | 3 + src/Line.cpp | 6 +- src/main.cpp | 5 +- 17 files changed, 272 insertions(+), 35 deletions(-) diff --git a/build/CMakeFiles/HLlib.dir/compiler_depend.internal b/build/CMakeFiles/HLlib.dir/compiler_depend.internal index 8022423..db37b2e 100644 --- a/build/CMakeFiles/HLlib.dir/compiler_depend.internal +++ b/build/CMakeFiles/HLlib.dir/compiler_depend.internal @@ -222,13 +222,35 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o /usr/include/c++/11.2.0/tr1/riemann_zeta.tcc /usr/include/c++/11.2.0/utility /usr/include/c++/11.2.0/bits/stl_relops.h + /usr/include/c++/11.2.0/algorithm + /usr/include/c++/11.2.0/bits/stl_algo.h + /usr/include/c++/11.2.0/bits/algorithmfwd.h + /usr/include/c++/11.2.0/bits/stl_heap.h + /usr/include/c++/11.2.0/bits/stl_tempbuf.h + /usr/include/c++/11.2.0/bits/uniform_int_dist.h + /usr/include/c++/11.2.0/pstl/glue_algorithm_defs.h + /usr/include/c++/11.2.0/functional + /usr/include/c++/11.2.0/tuple + /usr/include/c++/11.2.0/array + /usr/include/c++/11.2.0/bits/uses_allocator.h + /usr/include/c++/11.2.0/bits/invoke.h + /usr/include/c++/11.2.0/bits/refwrap.h + /usr/include/c++/11.2.0/bits/std_function.h + /usr/include/c++/11.2.0/unordered_map + /usr/include/c++/11.2.0/ext/aligned_buffer.h + /usr/include/c++/11.2.0/bits/hashtable.h + /usr/include/c++/11.2.0/bits/hashtable_policy.h + /usr/include/c++/11.2.0/bits/node_handle.h + /usr/include/c++/11.2.0/bits/unordered_map.h + /usr/include/c++/11.2.0/bits/erase_if.h + /usr/include/c++/11.2.0/pstl/execution_defs.h /home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h /usr/include/c++/11.2.0/set /usr/include/c++/11.2.0/bits/stl_tree.h - /usr/include/c++/11.2.0/ext/aligned_buffer.h - /usr/include/c++/11.2.0/bits/node_handle.h /usr/include/c++/11.2.0/bits/stl_set.h /usr/include/c++/11.2.0/bits/stl_multiset.h - /usr/include/c++/11.2.0/bits/erase_if.h + /usr/include/c++/11.2.0/map + /usr/include/c++/11.2.0/bits/stl_map.h + /usr/include/c++/11.2.0/bits/stl_multimap.h /home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h diff --git a/build/CMakeFiles/HLlib.dir/compiler_depend.make b/build/CMakeFiles/HLlib.dir/compiler_depend.make index ff7e373..a22de86 100644 --- a/build/CMakeFiles/HLlib.dir/compiler_depend.make +++ b/build/CMakeFiles/HLlib.dir/compiler_depend.make @@ -221,19 +221,57 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/tr1/riemann_zeta.tcc \ /usr/include/c++/11.2.0/utility \ /usr/include/c++/11.2.0/bits/stl_relops.h \ + /usr/include/c++/11.2.0/algorithm \ + /usr/include/c++/11.2.0/bits/stl_algo.h \ + /usr/include/c++/11.2.0/bits/algorithmfwd.h \ + /usr/include/c++/11.2.0/bits/stl_heap.h \ + /usr/include/c++/11.2.0/bits/stl_tempbuf.h \ + /usr/include/c++/11.2.0/bits/uniform_int_dist.h \ + /usr/include/c++/11.2.0/pstl/glue_algorithm_defs.h \ + /usr/include/c++/11.2.0/functional \ + /usr/include/c++/11.2.0/tuple \ + /usr/include/c++/11.2.0/array \ + /usr/include/c++/11.2.0/bits/uses_allocator.h \ + /usr/include/c++/11.2.0/bits/invoke.h \ + /usr/include/c++/11.2.0/bits/refwrap.h \ + /usr/include/c++/11.2.0/bits/std_function.h \ + /usr/include/c++/11.2.0/unordered_map \ + /usr/include/c++/11.2.0/ext/aligned_buffer.h \ + /usr/include/c++/11.2.0/bits/hashtable.h \ + /usr/include/c++/11.2.0/bits/hashtable_policy.h \ + /usr/include/c++/11.2.0/bits/node_handle.h \ + /usr/include/c++/11.2.0/bits/unordered_map.h \ + /usr/include/c++/11.2.0/bits/erase_if.h \ + /usr/include/c++/11.2.0/pstl/execution_defs.h \ ../src/HiddenLines.h \ /usr/include/c++/11.2.0/set \ /usr/include/c++/11.2.0/bits/stl_tree.h \ - /usr/include/c++/11.2.0/ext/aligned_buffer.h \ - /usr/include/c++/11.2.0/bits/node_handle.h \ /usr/include/c++/11.2.0/bits/stl_set.h \ /usr/include/c++/11.2.0/bits/stl_multiset.h \ - /usr/include/c++/11.2.0/bits/erase_if.h \ + /usr/include/c++/11.2.0/map \ + /usr/include/c++/11.2.0/bits/stl_map.h \ + /usr/include/c++/11.2.0/bits/stl_multimap.h \ ../src/Line.h +/usr/include/c++/11.2.0/map: + +/usr/include/c++/11.2.0/bits/hashtable_policy.h: + /usr/include/c++/11.2.0/ext/aligned_buffer.h: +/usr/include/c++/11.2.0/bits/invoke.h: + +/usr/include/c++/11.2.0/bits/uses_allocator.h: + +/usr/include/c++/11.2.0/tuple: + +/usr/include/c++/11.2.0/bits/uniform_int_dist.h: + +/usr/include/c++/11.2.0/bits/stl_tempbuf.h: + +/usr/include/c++/11.2.0/bits/stl_heap.h: + /usr/include/c++/11.2.0/tr1/poly_laguerre.tcc: /usr/include/c++/11.2.0/tr1/legendre_function.tcc: @@ -260,12 +298,16 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/bits/fp-fast.h: +/usr/include/c++/11.2.0/array: + /usr/include/bits/libm-simd-decl-stubs.h: /usr/include/bits/math-vector.h: /usr/include/c++/11.2.0/cmath: +/usr/include/c++/11.2.0/bits/unordered_map.h: + /usr/include/c++/11.2.0/math.h: /usr/include/c++/11.2.0/limits: @@ -306,6 +348,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/bits/basic_ios.h: +/usr/include/c++/11.2.0/bits/std_function.h: + /usr/include/c++/11.2.0/streambuf: /usr/include/c++/11.2.0/bits/locale_classes.tcc: @@ -324,12 +368,18 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/errno.h: +/usr/include/c++/11.2.0/bits/stl_multimap.h: + /usr/include/c++/11.2.0/cerrno: +/usr/include/c++/11.2.0/bits/stl_map.h: + /usr/include/c++/11.2.0/bits/codecvt.h: /usr/include/bits/stdio.h: +/usr/include/c++/11.2.0/bits/algorithmfwd.h: + /usr/include/bits/types/struct_FILE.h: /usr/include/bits/types/__fpos64_t.h: @@ -370,6 +420,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/bits/char_traits.h: +/usr/include/c++/11.2.0/bits/hashtable.h: + /usr/include/bits/waitstatus.h: /usr/include/bits/timesize.h: @@ -476,6 +528,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/exception: +/usr/include/c++/11.2.0/pstl/glue_algorithm_defs.h: + /usr/include/bits/pthread_stack_min-dynamic.h: /usr/include/c++/11.2.0/bits/stl_set.h: @@ -490,6 +544,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/bits/stl_multiset.h: +/usr/include/c++/11.2.0/functional: + /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/cpu_defines.h: /usr/include/bits/byteswap.h: @@ -498,6 +554,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/bits/ios_base.h: +/usr/include/c++/11.2.0/bits/refwrap.h: + /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/gthr.h: /usr/include/c++/11.2.0/debug/assertions.h: @@ -512,6 +570,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/bits/memoryfwd.h: +/usr/include/c++/11.2.0/unordered_map: + /usr/include/bits/flt-eval-method.h: /usr/include/c++/11.2.0/bits/basic_ios.tcc: @@ -522,6 +582,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/bits/wchar.h: +/usr/include/c++/11.2.0/algorithm: + /usr/include/c++/11.2.0/cwchar: /usr/include/bits/types/struct_tm.h: @@ -544,6 +606,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/c++/11.2.0/bits/predefined_ops.h: +/usr/include/c++/11.2.0/pstl/execution_defs.h: + /usr/include/c++/11.2.0/type_traits: /usr/include/bits/stdint-intn.h: @@ -642,6 +706,8 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \ /usr/include/bits/pthreadtypes.h: +/usr/include/c++/11.2.0/bits/stl_algo.h: + /usr/include/c++/11.2.0/clocale: /usr/include/bits/thread-shared-types.h: diff --git a/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o b/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o index c0f16628a4684f929b3e37f050e487912eab5c5c..7e74e61014e8d157560a526207a4e7f90916e594 100644 GIT binary patch literal 32464 zcmchA3w%`7wfD&j;wuvrYg+L-;-En#CcI1lZH6RpMkbg`KxjcHuL+5SnK*O8Ljkb~ z%IPp(KWkgtYp+ykf8Lg>w%1xpQBjb1uh*9Px?Jm3>StTxpdeMRw?6p(Yd>aIPUb*B z`|TeyXP^IBd#$zCUVH7e&p8ursSD1^&B-xz$uX`nGG`h!jD~2YUM;HCpuAGho`v(# z_)xpE@%fUfpMztGs(%^Buc-PM9M4nr^Kta5`UN6TK@w7`~{8Xtp_&(2-u&tnTh;y#MrcJeXA;V_RlWF ziDCB7E*8h+>_XF?U4oAn7!ev~;`$OZaYIQkxuP&w^%v`mVDctZKJ{!E5Ldyc&Ae1{ z^=x<~*D!+i0rS?~BysU|{w4nF{MY+KyV?Vu$V=^>%b)h#_6fC1uJKhLK*hj?b-U@b zSf55-I^tQf_lRfId|%<93zAMX^OQbIJa>cksUx0Z&>rzzzn8eZBpS7QN}m=Sg(yL) zPAy+?&_0wtsZO8RZ%EMIg^qgqyho27rH=NUgUVk#(ZycR_$9t#)LP3u@sI+(Oc)l>96(4S%nG(1x&MA zpI20p_xg4cklf+h36D^HD-hT0K7pD2eZG4jkjkDu-)5@f_(M9_Zx}K~qHMO?r$=(dz zqvFKTJxQ^>P&B0orMPa`X?fE!Nwwq-p;Jb1>ilfi6Dz&FzsXmc?eJA zBJYV)<@wQua{KAjlP3IbGmwFI@fA#L5htqcGqs7ze!ystdDRrO|12&9r?>fq z!RGW8-V-x{b%3~f&GDa^8;*MV9>81{90tB8A`fGkoXO3=nrt=PbSX=BZ=())3 z-63u4*>EP}H_6-yncHdkH0{>~&(wdI38_kYgsS>IeY+@DU=oNSOLpf-`Ts&Fe08Fk zz$#!SyYN-D#8=|kP?rO~wCtKm;nrp{qvgO2xOg1zP5sOE>$11rP78k)uBLKaFwMmWBqcPA&=FI9Tsed=^enIyn3@5EmQMp{Ug?E&v zT|EsWpJ;0LMCbd;Y2EHXb&0RqGir%%6{>B%2G6K1zKxI!WzjPLvS%;oo~5m8KVw#5MYEaFeyn-BjV2FPS_S}4JnsdNb6D=x9cAa#begYt8>q%fAcT_MI^ z5`JNe2+ds`{V)quHi|$*iAOrg?m0VXA4Y;rNeWA_g)YeTdk>nX{V~g1YJHV1Nz33w zzkhZmOoFv(cC|PrXICPn0khc+z!nkKKf6O*>Yv>$NunL59bIMG53k3$*?;>+f>BKS z&pO7MiFmh}yjl9X*voxN z`$5Vk;?>Yxg}p?)I6WjP9~R8+6gG#rkIg~pBJ{{&_JxI}y%59;p_<-bt*ACPd}v)| z+B1Bn{RgR`{j_QS4yzf=@j}o0racF36jY)iubEh|2$q2nYTz~ynCa80ro9i{DnYlT zmMp&&9`c#fLoj5@I9Su98LM`A`py+0j`o^}bRvT3fJfAcxL3y&SZ_ORi-Y!udLCh0 zRs-eIiTQT$!u8Mi^>XKR9W!+JL%5<)his+bFq+qIc*`2&U%$qOKwg1ZXZd6(S5i`y z%6=G4KH_RJ>6jQuK8S&n`ytbQnK=%2D7XSQ@AFYOq(Z4}v92d2 zPHArmFgkka2%1t&gT$FS)Itdw-A^%X8I#TACb@~Q)iz%Hzn&7C6i>&r*d#;*5)0sY zcMCBjmQ;dN+9PN!t92b(5>8~MIyTS|^otY?wvA$v3N6b8kF~YY6lKfNP})&hn9pB*(!BhPe;&fR5Z|1I7gUl*(8XDZA-~> zh?XQGkWh|uw~#~{kXB}*uGH-PDA#lQ2I%VP`$fLMN{}CPAZOSrMh_?5NE;sY?FS7` zR*B4kCNk-`7e@pMu_g=i4cs*XSL7~Dm^tyNFp9LT_7H%@P(T@6EtA-1y`E*GEf$aY zv``>5rR6{@ayXih4eQnV8bk$~36p3r9<;3h-a&XU5iT)*cYtn@95FqY>^xHIx$L9* z)}!^=f%oS7r&G?vA2dpA9NfA~?=G2?oW+t@7()6g9FlpOthQ4$Kdy_#|*7&dh-z_H- zt`OPaHn8U-9He0}0q#$OiF;M@j=Oybh@QT0<5EzKU}_;U@paGWPKY}%`UJkRnMmy| zVl!siTh*>g>Jdn;Rm-c+c4+LS5Nk60r4^pEMSIdRc+ytwNpX16qrSs}xwPIu4>kap z4*P&np{cQ7)W|LpC+DTk(~;T|%}0u+J`pzSlWQyMt3L7c(G9pGeot|iuM|65WcvZ^ zRm#oeR>7XO9v{PVm-q^CzwYCka;(bj73uO!@BeY`K+J_^e$hNle#aEycX$CpKm>Ii&AvsYtuSE*t3tM`}a_L`)^^ zeS=&Bu8kb+QQvw{$X)=crev!jeF}Zxf#RH&}k0}n(pbTfsWsU z^K`P~+3?#uaxqGZAH)Tg6#M&U6+$l~&_AnK9PMjM0`|3DoR`x1K&jX>)=|*vhO0@h zq&Njv+aX*PCnj8Nlel|;lb%u{+l$6HSzAeD`{hZ!No0p{qAevlMUz9^cG`?98i_oI z+oaFZrRRt^b4lI}XWJ6o$Ijg7CcjJJR_Ot1nbIvm@{C}tfk81yAQPUD zIt4-Qi$-2nUSp4X9_7h-obtd{Bcd%`UnvdLt* zb?-sA@F&NpmHJ}OD3cy^E%16qHB@8kh50oQw2zqf9>Foti@kOZ_MKvzC(WDQ`#^!z zdiwf@KypP|cfZ}Ax+91oLnG*7r2Y+GM~~*5et%9XAF1G$5l9V>{$pLvjQes6_T?M> zxdkug8?WWI{4vk?eO|#krx?G<2gNT7F4IL7^?#L;4Jl7b=MI-P%FX!y@QM>8RoK3kokgz4!c$hAc!R7VQbiHHUft;L=a|+hy z8i~wh((`N|E-$$&=iMCRR=Q&622fRP1@9X-qGiq>gS0%hAT`BMa_7%lJj%x+g~)&lLSQA2dH7 z4VqzjZaI_@qr*LSMYz?9#->dR)rVr?=B}=2Yp634563M2%((X;CeUQuk-)8(U}7mg zmj~@PgX7;epZaT_xeYUzipQ*a+Nz|R9~)lSMqM{Obx)f)dt-|NPe_WRo?zACpl8T|Hmju!{Vznf}N zY%=VxPR{s%c*<_lJ)By4oLFoenTdxKSHi=O-f};Q_?Q2?N9f8%mi-i-~qW=^@??xIUaLDg~i@wg$PRrRIoAh z6L~y}N2Gc(6On8@ez~yLZlal1Q-~>7iprc4Ou0%_8cQ+d%s}G0;`(F{g$S!fJRJL# z2n|JMqNW7%5H=l!SzcS!>RopbSh4-@ski%H=X1<7jX~p!6YpaF(N+n>4; z6H&&RN#K&&TR*+0#7Y57jR;J?uEaV^2b0>WChywUNQYYlf>-e|j55(a8Ii!yX;Lm)H7N6fe?wQeIUe@5 zMq@F|Bhg4p5=vXK)!yc%&7Bc?IRjZM>^*HWrSuHi1Hkd}-ZgW7xJ55Ig zv7pcxc@kgpiif5zA0*~@ap$h;sWmft0w9}% zT~u)$HcM!X7Y@+aPe3uMHRUTu%IN>4Uz5F391sH7pmK{!Q*jy&c=>r4p5 zKx=_$2YJg$o^?gQek0S%)Hn65*`WO=O|F8y+Pb9g?(TP_9mlX@+83l1=b%rf7d9)W zu9ts)oBbbUvjyB{un=x|*OY%D7E1RZb?@KALg`HK*nal;P4$n;R3UCE_;LMU_xeJN zmhM#Qu9G(!&7O3TY0jZr)bVKg!t9!wY2MP=a~F*FR#cQtEGw5+aGTWd;)4{iiUWD&8{`_)YVSoK?j+=bk>Y@J0MdJfRHo6Fzo_`OTz^qXZ(ePY z_r{_UocoIk1zjy&M>!r{mn1tToe3J+W>BH0L&nUa;(y4USyXaI-pnFzGJj@K>81jI zQTc5n{6&?$BWsJQb6-8Rs1k_3s1y{SM2ne4h5pmh`sdu#5EQ)|Nxop5tNR$l3H6go zS)O5#osJ`KcG1q9+?b0%;?!8_p^Krw zk6x77ta!$86t?HOH|0&vIaRCgKdlt>Tk%Yq$`ShFwBFp87^yJ>m+AR6l~?Es9^um0 z)>8*}7G8tC;xj|FpQUv>t{>)2a2q4yw@L9EJA8hpxbY)fY=gg2`4N3_Ta@R1m)nBI zu29j^lbm7rcx}=8oV*)g{Oq$z+GmO4Ic2y!tMkSjt3MlsVutbH(Efbi*`Iw%_6EFv zHjMtvF4~`$_mdIs{hWLrb1L7REcvAvp%jPBIEJkf`0Ja0hH`62RX%VS^IcvCRMF zco@b9}a1HizIW%EMQ(~FQ}jm*5z__G4f%nOlIfXyt#<81sFy5P6F;7J$!x4_S2 zae(p*Djx&CAeUa}lttU`99++)&jc5|#sy#Og7>)KKX$=?;ezM7;Cq0NW!|jqe+dHg zSQbx2zJsp!0ngUo`(5y#xZpn%{4dbvG(--BvkwJ+VHy`X56-@UI8WoE$Aj`2Dn9_8 zO&{Dp&5FO`g6HBDgKT_eyWnvb{D&_1A6@VZ@U%ah+!`0W#|3}D1%J#19}D|slRM1? zU+jW+x!`dZ{M#=0f4Sg=*zjc2^CB0#+y!6ff`8Kmzpp5}+FL?~I~Dj?mTyqLPUU6bq)*2g^882gVEkF(MHpu) z`faJd3O`U*i?Q6X^AxI#3n zfRwq7R%K{jOUR0a!-395YjSsUXDl$Mb22Ge*JxFghZ@6Oxcgoaw*rlmLVzZBh2!x+ zXI*2n0O~67a4Q_cjrzI<&`;9bLXl`&SWrMrTUW!18}fR&&e}R|c7(Gor0CXAsWJvmmmv6K0qf zj`u8wwL;+3x-8V%u`JZy+}TB<_@vRp1_y4eaCle+^DwHz!*Do`hk-)Mm@1zh2injM zvjbk?e2N^n8hG7`xmB=hq$kw6Y88ku@nXxHyFzK#X=oEtYrCcQVA#t;A*&-6T^Z^M zN0wS0n7(+B*D$BmSRP)!Jh~!G$JXxES=Go)_u+|k+Uw+kjOcuLd3RTHYgo^ltKnpb zSricvJ5a}fW}7*PS}k?D_Y`3(rnW{SaVyr-YK6>&-LYtk^ehZ(XEZJ*i3-B=uSLkf zr0K+S`)EAS3JDdh9nCSs%jQlCKplW+hirEP_n3qwjQ+dGr(0q!5a7pNlc}df=qGDotP&*?_1Bi`{Q$q78 zDo~gdp?s>Ioh{96q1NWOB{~7aOlh@NcauS2^ZL-rPOOtyO5iLYpgA0ghVX_-v(*`m z;9-A^9`}nVKUp*EjI2P^Z3{KWmLjxag}{^-7Io1si@(d>A}y#7wROh3xs8W21C)_@ z42t$xp=f(Zyjma?LP%`|nzjbKgQk>PHnWWZH@~6|DDzJZHOxWcBI9;+Qg@G4Cp#UT z(%#h*?~pDc7LTd4c67E$M6R(@X-U$MAi_jx6YEW5v@2fMDeM=mN-ydZspmCD#X2pf z=`iLVMz3{MbEqY}v@?PM#|sh)!P=(Jh2J|ThO(xRlOL;$rw&VR3cNFi zqqoQ|DYVDanxiWbp*OrWTWX77tur|q92qDoCXoRsA(e@zjM*|LtN^^>-C^np7T88(`cv6i*fK3bZIccfp@ycsc5t{#6$|U+w>ie+8pIi{TR) z?qzr>!zZ}l`u+m(r+c7UA9|Kgg>bIteJ=PzF8K2dr@I=O|7$Mz2Mp)^%2W3moOaOn zAPDFE^)h3_|k>T9V-*v&CVmR;DUWW62{WrsT zzutDik1(9~_Y~Zxr{eU7^B7Kd*Yx;~V>msv(D)?`pTh9145w#Cn*LuEPHI)-gWF@G z6piT+`20I2~r;2ly1z3SehtI>6i#-apKoY- zo6$Eg`~imlJ;NVi_&kO`$MA6s|4)TG<-W$~8yS6y;q)$!*7N+4I6w#;hg_Y#)tF&4@OV#S7<&jGMw|- z=fdX=7y7qd@Y4z*42A5&`4=mk?0hXgTAyOus zcoV}*8GZx9zs~Uc7*0P<()=H1IKB6z@qI4%L5448^dBkQX}3H)FQVea$GPB_DBNl1 z3Wjq#S23L1c|OCroo`UMQ=iq0p4+XL;q=afw$ELR54|0r@$WNw?$28o&e!*?45xQA zG@oBH{$FAEE=JG!KhJQUZ_sl*Dr8U2KVLl`a@zSchI2cg#c*!tGKO`!kM>HhXGdfu!PNx%;%M?!IXyT*oIhEldhEHdB6T?l0H#7Vig_GPCe6-v) zM&HWlmoa*tkF9gyn$PzbUd{MF#Q0y$`0rvkU)K&ZdYdHne&hI9I#GMv+IS2*c^KGWxEM$h@Y z$8bJRKVo>0@hSA+1cmI$$FZ21MF1jXq;&oR6M*LA;c93{vFJ@>b1TDnKJ(8EU&`oz#&F)>cNl&nqmQ4B6BP0vPXCY#zKh{8 zw9$UGm*G5~x6tMUh4^2AkEXX6&h69dg5TwWKkS0`V`CrO#&Zm;$+#jxH zIQPRP4Cj8hj^W%76Ab74f533g|6zu6{?9X<^DkDf@{)acyjrMmr#+W2dTxgwF`V;x zpW)m;PoX3ph2(O)#09_D1+R6%zs7Lxx19{-i+Zr!e|{g_GUr z7MYIUnBND;T|-{uGm`&^TU*kJgiH zPKEea;iK^l1fmc=4Ihm^P9O^5T>m2imH2ejHT@|}e?DGbM$h@H zLi+H1pZ?tf;XZt{{`@&nC&Nn_pC*QvGn~f_FKDPZ?La)K5PkzbTJEz1qB!w4B|L-= zw*&9j|1f$!uRmcp?-zfL)&v@@&*>-FFFjvKe;)sT&*XCa1BUbQI?8a~uTz;mJpOnX z&ih4w?3oJb(}a)i*ZBlj7n`nen7#J__;lrBcEbtIgA-$O;yZs^2d>{=e~;lL_d&&H zhH@I>F-l={sAD+M?^f3~F`U}y_uaQSaQ(jfQw%3QZz(>fE2ktL^hx`9S$y?!tGUG} zqqn}qu|wBl;jZQ~Jle-QYkW=5HKm$vL!zi%mPjV`CRt&KAL0km)# z{u0du@skpDj$dw+;Wr5QQH({BXk`v}gxX`x`0+{E(pa=dr=KbdIQhe?NK$#eqB&Ko zip~vbPwT@+r6K8~Tl-*^_OyQ)ZhM_Ca{07R7;gKvEb>cFpuILQmrwT@hAV$f7WtJY z(0*f<_A^eP{oPsGUwH!UH)m;2_XURA|E*ctFFk?w+p@IpIDz)Nv$UuE`Ed2$o25PN zcZb{lwJhyv-{)-a1x8yjzK6uA{Ck=>rqumG!l+P=&&#k-bwE~r#(1fBOD!jNy(>sW4t)X z#4`ZVf5(MVy4iqIE)NFv|15l*{eKWxHu*(kWW(dhe*k3J2>k7pV45|9MvZDV5`m-x##dWD2#vOkC2%X+P5|+w1$q@@%O5 zuc3W5`xQ3J7CO$*_+NmJQ~pCP^4EA}d;NDwJSh9v(&e4O&Dp*;29 zIezO%S(GO6o%teKD*AYhOZ)w*{b!Oq{jKHe_N}VD)BdlIl}+?>1;fJxac*T9W<8*Wt;n;X{r|a({5xA^3oie1K+gUz7-<-Ezco(_P)D;=Ry4i7 ztk3na0qsTqHGw*Iw8@J0GqOKDU)Jq3-i-ES|1%|d`n#c2R*Tb!tmyXo7+3A}?`AZ4 zlWMQ&H10f)X#E|Iy*`Wn^n5|L*ZSY57DJLL;Gywe~+@C{=E*3KRsX7 z?X~@=KTg>sYcEX}lxp?RVg~9ye4Op+8Hm$&0U5<43}p*{n1FMq{b=u-t$oK*YHb*Q LAmg&)Z2$iN&mauj literal 25392 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 diff --git a/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o.d b/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o.d index b05846e..2ff175e 100644 --- a/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o.d +++ b/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o.d @@ -160,11 +160,31 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: \ /usr/include/c++/11.2.0/tr1/riemann_zeta.tcc \ /usr/include/c++/11.2.0/utility \ /usr/include/c++/11.2.0/bits/stl_relops.h \ + /usr/include/c++/11.2.0/algorithm \ + /usr/include/c++/11.2.0/bits/stl_algo.h \ + /usr/include/c++/11.2.0/bits/algorithmfwd.h \ + /usr/include/c++/11.2.0/bits/stl_heap.h \ + /usr/include/c++/11.2.0/bits/stl_tempbuf.h \ + /usr/include/c++/11.2.0/bits/uniform_int_dist.h \ + /usr/include/c++/11.2.0/pstl/glue_algorithm_defs.h \ + /usr/include/c++/11.2.0/functional /usr/include/c++/11.2.0/tuple \ + /usr/include/c++/11.2.0/array \ + /usr/include/c++/11.2.0/bits/uses_allocator.h \ + /usr/include/c++/11.2.0/bits/invoke.h \ + /usr/include/c++/11.2.0/bits/refwrap.h \ + /usr/include/c++/11.2.0/bits/std_function.h \ + /usr/include/c++/11.2.0/unordered_map \ + /usr/include/c++/11.2.0/ext/aligned_buffer.h \ + /usr/include/c++/11.2.0/bits/hashtable.h \ + /usr/include/c++/11.2.0/bits/hashtable_policy.h \ + /usr/include/c++/11.2.0/bits/node_handle.h \ + /usr/include/c++/11.2.0/bits/unordered_map.h \ + /usr/include/c++/11.2.0/bits/erase_if.h \ + /usr/include/c++/11.2.0/pstl/execution_defs.h \ /home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h \ /usr/include/c++/11.2.0/set /usr/include/c++/11.2.0/bits/stl_tree.h \ - /usr/include/c++/11.2.0/ext/aligned_buffer.h \ - /usr/include/c++/11.2.0/bits/node_handle.h \ /usr/include/c++/11.2.0/bits/stl_set.h \ - /usr/include/c++/11.2.0/bits/stl_multiset.h \ - /usr/include/c++/11.2.0/bits/erase_if.h \ + /usr/include/c++/11.2.0/bits/stl_multiset.h /usr/include/c++/11.2.0/map \ + /usr/include/c++/11.2.0/bits/stl_map.h \ + /usr/include/c++/11.2.0/bits/stl_multimap.h \ /home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h diff --git a/build/CMakeFiles/linelib.dir/compiler_depend.internal b/build/CMakeFiles/linelib.dir/compiler_depend.internal index 34e0779..3367adb 100644 --- a/build/CMakeFiles/linelib.dir/compiler_depend.internal +++ b/build/CMakeFiles/linelib.dir/compiler_depend.internal @@ -5,4 +5,17 @@ CMakeFiles/linelib.dir/src/Line.cpp.o /home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.cpp /usr/include/stdc-predef.h /home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h + /usr/include/c++/11.2.0/limits + /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/c++config.h + /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/bits/wordsize.h + /usr/include/bits/timesize.h + /usr/include/sys/cdefs.h + /usr/include/bits/long-double.h + /usr/include/gnu/stubs.h + /usr/include/gnu/stubs-64.h + /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/cpu_defines.h + /usr/include/c++/11.2.0/pstl/pstl_config.h diff --git a/build/CMakeFiles/linelib.dir/compiler_depend.make b/build/CMakeFiles/linelib.dir/compiler_depend.make index 10d2aae..d84048d 100644 --- a/build/CMakeFiles/linelib.dir/compiler_depend.make +++ b/build/CMakeFiles/linelib.dir/compiler_depend.make @@ -3,11 +3,50 @@ CMakeFiles/linelib.dir/src/Line.cpp.o: ../src/Line.cpp \ /usr/include/stdc-predef.h \ - ../src/Line.h + ../src/Line.h \ + /usr/include/c++/11.2.0/limits \ + /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/bits/wordsize.h \ + /usr/include/bits/timesize.h \ + /usr/include/sys/cdefs.h \ + /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/11.2.0/pstl/pstl_config.h -../src/Line.h: +/usr/include/c++/11.2.0/pstl/pstl_config.h: + +/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/11.2.0/limits: + +/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/os_defines.h: /usr/include/stdc-predef.h: +/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/c++config.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/timesize.h: + +../src/Line.h: + +/usr/include/features.h: + +/usr/include/features-time64.h: + ../src/Line.cpp: + +/usr/include/bits/wordsize.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: diff --git a/build/CMakeFiles/linelib.dir/src/Line.cpp.o b/build/CMakeFiles/linelib.dir/src/Line.cpp.o index 9fd85be76f6a3dd2b5f5cf568ec6e3f99f6661f5..5f26e334eafa366dcf881efb267d8eda841b6396 100644 GIT binary patch literal 2928 zcmbuB&1(};5Wr{KYNA$?)(?smSwys=uH7o7ij-naw_vHIDoRmeOtv4|CULVB>qQSD z77=<76uk&uJb3mX9)dY|6A%6YJ$Ue@_8=Y#b>{6%_VJ7-AMDP&-+b)soA)-kn;98u zvMi8cK|jPZp#VP;u|A;G0oVeYVI|e(CGmDP{ZV-gKUzoD;YF__R_)r-N-Dix`PM{B zljbGWJ<>arZr4(8y{_6)l<4u8wYZ%!E+%S^5-QJ7ax&$3$<&MLJ2Ip)A1IFK5u{J6 zIBWALSDR7Y^92>-0F?lmnmzFB>na9*xihR+X5ng~js? z$Y^Yf1Xy>*!MdHcI$IOTC3H?B-^I55EQ#@BV57!Pv#zsC%+_muvkln22JA@#_L`aM z3hGqLduHt{iG60hSz}*W-=VSJtZ&g+D=(5>vu!YT|4Wct3;bOB%YdM{zWT8>S}S>* zn5UGw4w5la8uh7N%OgG6^AApaBL6NG4fTEvG4C<>W#%WD%NhjCPZ|6n^I?O(Vm@kc z>J`;Ox*lP{OS85!)Rn+w^A(PM-MdoqPWJahHg@roa2E3>7tpBayR6kW*s z<&fzamFW0X-T4;f(`e+ZQTHf0-@SoiRWsRNaj3<96rg zgTOB;9M{lG8O1Rw%fFc!KXWb{`^@6YFi?+kk5cxy!ua)FS1eRuftGqJuXhtl>gg(f z>2_UfY{_PN)LN3gKbFESVCn(Xx$ydTYaPpKECM zoZ`C;zaKo8^DJhmU!;cy(Zz>kb0gTm_ad?cUS?mC9BA#l5OaB`^8{J@<3;NCRt;lFgnemj<>^&m5%8kBa)Nf4jx3zJ6 OnHCktLL};UGyV_MhC9vx delta 824 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 delta 1922 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 M7{4duvfwQL-@N&uA^-pY literal 26932 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 diff --git a/build/liblinelib.a b/build/liblinelib.a index 5b09538f7d83b6dee928e14fdca45f14b54dada1..a514ebbc37ae1f575b77eb7f76801dfbca47018e 100644 GIT binary patch literal 3454 zcmeH}&2JM|5Wr{iflUb5ffhvsp)IOPP+{>pQIu3DiV~cSL=;fkiVA@oV=p9aVw?2_ zkzU|{5K)Ab0}==>NWJvHxreF;t3LFG5b7V0Ll3JE_ct%X{?78Zgqr%$;u z<(Es*gbF`|#^|6E%5FioaWlo`An?ly$2km9L@|ug@^9v5&wrbbZ5Huk7^v5|0~9^Z zF#dekl^IH~1VF3k6suLI64i94N)8PUstRUDvRul!t~!jJKRj)Tz?Z*1sRCgN=3HPKj0s5q0!>nX=erk>S*r-@YVPx2#r2I=EEj(R+b)#KTXZPhj- zvAuZ*yorf#?0#?N`;)foI$0+}F#tO7vGJkoaT40VsuPp7uz0)|8MV(M0oKp6VBJnz zecg%VIvV4#fTKKjf+aD24bah{M(mu@-~;vpvpp=yZm|Ws+k!o6!G2|?s)9Pj`-9m* zmc(AM-mbBKSU;?>cdQ@KST`?{p0jN*HvdSFSqHq?{%8V0dvo>U*=YUbYhs>KY9}OP zq%^A2K`oBdBEyw&R+sisM zFDG!OCoGv=BKNB7dJn^Aztq`lvLCAeA6A%IPC%9v|p)_J)IfhK0$0Iw-t>z z%}E<%g%~|@USwYjm-C{(m*(WW$i5T%agKYBrErP+#NcvXUKm`?OWojdUj8SDl1#qs_YTyJF z8aTyTI1Em)vb2PMFTg2RLf^q3s?+%YrT7z%ZLDV#r_zaA8pq`XnG zyXbB7rB7>~Z;my_@;OTpv@UwMBi5Rw|PTdWPhqZ{nrwIseh|? uqZ!O|LhsnW8yRgW)1P9RwMPVVTBi0TU+~AX;HDQM55W7{{I8VgU^8g delta 877 zcmZvaPiPZC6vp4|w(IQd#_pEJX{6W`A&s=8+bX73seu+FBDPqpAV|cMqWA}dLJtW@ z@!&~#2lb*y4_?Hc1rLHEf;X@2QBYJoi*Y9Trj+1=+3(Hodo%NPcK_~wR(R!melei5FG-t-2b~l!Gb3P~!7hLzJcR6;|2;Y{vPy%($SjUb@ zel9iNk}`dQ3g^u7XS2@T+1nm>k=s&-?kc|WPqWL>FyTrlQ~TmJ+)hnygj#IyT6m1# zgiW4TMe&dus+wNGr^vbsNbw6bB|h@qKFvQ=S$tw0P4R;$G1=p2+@B-jF)uH+P?3l; z+>W%jO*|Zz#8o~SYvqp51Q+82;xf0C&OgFQ%jnJil#*Y@6Zx8L)5Hfjk;#4j7Ego{ TzrYHQ=BnW~zSB+KQltL>H7R5k diff --git a/build/main b/build/main index c36752403d4dbd070ea94a9b67045401c12dddad..682979424570064dd7d8e0cc91e2cd849540cb07 100755 GIT binary patch literal 39680 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 diff --git a/src/HiddenLines.cpp b/src/HiddenLines.cpp index 233fdbb..7474ad5 100644 --- a/src/HiddenLines.cpp +++ b/src/HiddenLines.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include "HiddenLines.h" @@ -29,7 +30,6 @@ void HL::print_sol() std::set HL::gen_sol(const std::set& ls){ HL inst = *this; if (ls.size() > 2){ - //Create left and right half sets int split = ceil(ls.size()/2); std::set lh; @@ -48,7 +48,35 @@ std::set HL::gen_sol(const std::set& ls){ } //Recursive call - return merge(inst.gen_sol(lh), inst.gen_sol(rh)); + auto tmp_sol = merge(inst.gen_sol(lh), inst.gen_sol(rh)); + + for (auto itr = tmp_sol.begin(); itr != tmp_sol.end(); itr++){ + Line l1 = *itr; + sol.insert(std::make_pair(l1.get_id(), std::make_pair(l1.get_vis_start(), l1.get_vis_end()))); + } + + std::set> piecewise; + //Cleanup Solution + for(auto itr = sol.begin(); itr != sol.end();){ + auto start_range = std::get<0>(std::get<1>(*itr)); + auto stop_range = std::get<1>(std::get<1>(*itr)); + + auto it = std::find_if(piecewise.begin(), piecewise.end(), + [start_range](const std::pair& p ){ return p.first == start_range; }); + + if (it != piecewise.end()){ + //st.erase(it); + } + + if (start_range == stop_range){ + sol.erase(itr); + } + else{ + itr++; + } + } + + return tmp_sol; } //Set with 2 lines is a base case: both are visible at +-inf respectively, and intersection is where they change @@ -60,34 +88,28 @@ std::set HL::gen_sol(const std::set& ls){ //Smaller Slope: vis from isec to inf l1.set_vis_start(isec); - l1.set_vis_end(std::numeric_limits::infinity()); - + l1.set_vis_end(std::numeric_limits::max()); //Greater Slope: vis from -inf to isec - l2.set_vis_start(-std::numeric_limits::infinity()); + l2.set_vis_start(-std::numeric_limits::max()); l2.set_vis_end(isec); //Insert partial solutions sol.insert(std::make_pair(l1.get_id(), std::make_pair(l1.get_vis_start(), l1.get_vis_end()))); sol.insert(std::make_pair(l2.get_id(), std::make_pair(l2.get_vis_start(), l2.get_vis_end()))); - inst.print_sol(); - return ls; } //Set with 1 line: vis at +-inf else{ auto l1 = *(ls.begin()); - l1.set_vis_start(-std::numeric_limits::infinity()); - l1.set_vis_end(std::numeric_limits::infinity()); + + l1.set_vis_start(-std::numeric_limits::max()); + l1.set_vis_end(std::numeric_limits::max()); return ls; } - - //return sol; - //std::set dummy; - //return dummy; } std::set HL::construct_HWprob(){ @@ -127,15 +149,18 @@ std::set HL::construct_HWprob(){ Line newline = Line(slope, ycept); newline.set_id(); lines.insert(newline); + line_holder.insert(std::make_pair(newline.get_id(),newline)); } - std::cout << "Sorted Lines by slope:" << std::endl; + std::cout << "---------------Sorted Lines by slope:---------------" << std::endl; for(Line line : lines) { std::cout << "Line " << line.get_id() << " has slope " << line.get_slope() << " and a y-intercept of " << line.get_ycept() << std::endl; } + std::cout << "-----------------------------------------------------" << std::endl; + return lines; } @@ -150,15 +175,44 @@ std::set merge(std::set lh, std::set rh){ Line l1 = *litr; Line l2 = *ritr; - if(l1.get_slope() < l2.get_slope()){ + //3 Cases: lh slope is less, slopes are equal, and lh slope is greater + //Case 1: + if (l1.get_slope() < l2.get_slope()){ + double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope()); + l1.set_vis_end(isec); + l2.set_vis_start(isec); + merged.insert(l1); + merged.insert(l2); litr++; - continue; } + + else if (l1.get_slope() == l2.get_slope()){ + if (l1.get_ycept() > l2.get_ycept()){ + l2.set_vis_start(0); + l2.set_vis_end(0); + merged.insert(l1); + } + else{ + l1.set_vis_start(0); + l2.set_vis_end(0); + merged.insert(l2); + } + + litr++; + ritr++; + } + else{ - + double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope()); + l1.set_vis_start(isec); + l2.set_vis_end(isec); + merged.insert(l1); + merged.insert(l2); + ritr++; } - } + + return merged; } std::set HL::get_lines() const{ diff --git a/src/HiddenLines.h b/src/HiddenLines.h index 9de6458..23e5faf 100644 --- a/src/HiddenLines.h +++ b/src/HiddenLines.h @@ -1,6 +1,7 @@ //Hidden Lines work #include +#include #include "Line.h" @@ -16,6 +17,8 @@ class HL std::set get_lines() const; std::set>> get_sol() const; + std::map line_holder; + private: //Solution is in form (Line ID, (vis_start, vis_end)) std::set>> sol; diff --git a/src/Line.cpp b/src/Line.cpp index 78fbb24..8558c1a 100644 --- a/src/Line.cpp +++ b/src/Line.cpp @@ -1,6 +1,8 @@ //Line Class #include "Line.h" +#include + int Line::current_id = 0; @@ -9,6 +11,8 @@ Line::Line(double x, double y) set_slope(x); set_ycept(y); id = 0; + set_vis_start(-std::numeric_limits::max()); + set_vis_end(std::numeric_limits::max()); } void Line::set_slope(double &x) @@ -74,4 +78,4 @@ void Line::set_vis_start(double x) void Line::set_vis_end(double x) { vis_end = x; -} \ No newline at end of file +} diff --git a/src/main.cpp b/src/main.cpp index b17a837..31f5f4e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -9,10 +9,11 @@ int main(int argc, char *argv[]) { - std::cout << "Constructing Problem..." << std::endl; + std::cout << "Constructing Problem...\n" << std::endl; HL inst = HL(); + std::cout << std::endl; - std::cout << "Generating Solution." << std::endl; + std::cout << "Generating Solution.\n" << std::endl; inst.gen_sol(inst.get_lines()); std::cout << "Solution is: " << std::endl;