question day 5

This commit is contained in:
didier committed 2024-12-05 14:19:19 -05:00
1 parent 20dae1d5db
commit 4039abe414
3 files changed
+88 -1

No files matched your search

+1 -1
View File
@@ -1 +1 @@
{:deps {}} {:deps {org.clojure/core.logic {:mvn/version "1.1.0"}}}
+2
View File
@@ -7,3 +7,5 @@
(def question-3 "what()-%*;[mul(826,659)what()&mul(622,241)}^from();why()mul(499,923))mul(589,186)~how()why()]/~who()}mul(57,224)* ##[[*>mul(206,45)select(){~from(63,961)+!/'@mul(365,743)^ from()mul(94,410)$how()(^ )/,mul(592,884) mul(265,485))^#[[mul(763,659),mul(275,537)$;who()*mul(511,392)))what()(+from()from()>&-mul(416,947)mul(868,183)?:where()*when()#-where(890,406)#-mul(873,379)mul(195,835)/,%?],!-{(mul(225,902)where()'(where()-@#mul(544,955)how();~when(222,774)mul(538,277),from()from(717,816)$)(!%select()mul(247,162)**why()!}/where()mul(411,570)]mul(158,805)<[)}!@$select()don't()&?mul(475,153)when()mul(44,394)mul(505,328)select(),;[+mul(228,58)}/)why()?who()mul(706,785)$!#mul(635,796)#[where(){^select(275,150)-/)mul(85,214)<when()/*&where()mul(438,107)who(); what()why()why()mul(556,985):-+;@why()}?mul(581,266)why() %mul(570,646)what();@<$mul(626,256)#>do()where()@'<mul(42,958)#{mul(980,871) ,:{^!>mul(651,67)]-mul(530,38)why()+^don't(),where();what()~mul(532,711)<how()-;(^mul(538,343);mul(403,312)#where()select()<}mul(160,441) (mul(35,591)from()mul(458,977)mul(682,17)who()select()!^ :how()from()!~mul(698,638)'<@;'where()'from()!select(458,218)mul(80,356)^,what(554,850)*<&what()select()select()do()>,;)$why()+what();%mul(265,354)-mul(338,874)?]mul(284,884)}<when()mul(473,399)%>'?where(),mul(614,138)&who()~}[why()from()mul(779,747)^mul(7,27)select()}>+^-*<mul(808,414) &)when()[;&mul(969,162):where(){mul(923,581))*when()who()}?mul(604,624)**mul(968,780)):/{mul(808,433)]!who()from()mul(103,80)@^why()!mul(335,504)&how():how()}mul(407,608)'+mul(350,417)select()>who()*mul(545,113)who()('!&how(),don't()+{$&mul(842,42)<#mul(788,22),why(),mul(581,843)why()?mul(415,102)[mul(782,483)::(&',^mul(411,597)mul(800,946)[]($}:+)]mul(6,738)who()+where()@}(where()>$when()mul(737,227)select()~ why(984,422)mul(690,299)$how()!why()when() why()>:who()mul(62,391)mul(559,901)mul(152,669)([why()-select();*(mul(674,497)mul(195,917)from()#what(),mul(332,868)select()')@#mul(957,359)(when()]>(<what()!mul(602,990)+@how()]$^mul(885,543)mul(564,365)mul(912,603)what()when()how()mul(216,398+&#'*-,]:mul(971,792)!do()from()who()mul(741,501)~how()where()<what()[#where()mul(268,825)what()mul(958,990)){?(+'mul(427,368):%?how()?(mul(725,420)?when()}-from();mul(414,122/%-when():-'@mul(450,900)&what()<{ ]<'(?do()%]^!} mul(401,278)when() -(! -do()when()*select()?@[~@from()why()mul(892,125)~what()+;/mulwhy():mul(375,500)^(#>%,mul(252,836)[why()?<how(643,18);*mul(223,308)$where()mul(401,278)why():mul(276,426)mul(793,320)what(85,700)})mul(485,616)where();when()}[! from();]mul(582,705) !:mul(427,563)<*<#how():!do()'&-}!']:'mul(615,412)where(928,116)];select()(mul(812,857)&@?[select()$~do()mul(49,314)?{mul(164,850)mul(345,646)[}from()}]<'#select()don't()<;+%where(445,34)*!mul!when()-{mul(471,900)<[-from()&@mul(442,893)where())*mul(798,495)}<+select(130,600)why()(from()mul(860,565)select()~why(406,274)mul(397,514)who()why()]~mul(654,583>where()!,mul(877,551)&select()[<?&{}when(){mul(528,802),#-)+(&select()/mul(878,466)#how(872,781)mul(964,641>}->(*[mul(847,681),why()select()select()*@,mul(211,86)when()select()-:)#']mul(416,630):(}?$[:)mul(255,942):-*:!~%@how()what()mul(117,324)\n/}mul(804,424)mul?where())%}mul(933,657)%from()what()'~!}*:mul(916,775)who()<select()<how()don't()#from(773,402);/,when()mul(425,484)> {,what(485,199)when()#mul(760/-select();mul(859,259) )?mul(21,933)what()^from()#-mul(951,427)don't()<!mul(664,380)mul(747,497)*who()}from()*+mul(505^) <#:select()]?select()mul(383,587)*mul(747,795)how()where()who()&}#:mul[@%mul(488,640)how()who()^'>mulwhere(295,787)%'~*who()@mul(500,697)where()*^!@^what():mul(737,496)^{)^how()when()#mul(387,233)']%select();}mul(89,882)}(&mul(394,392)#from()what()}who()when()when()>;^mul(639,188) [*mul(302,818)[mul(874,794)~{(<>[%mul(217,113)~why() mul(651,680)^!/'select()mul(161,158)'}/*{mul(41,452)?;;@,[~}why()mul(71,555)<select()%:when()]@what(198,130)do()mul(364,266)*+)what(65,6)'mul(503where()'{what()?mul(84,10)/;''^;mul(180,571)how()(]mul(804,566)>who()}]where()*%where()?mul(909,630)%^where()how()'mul(678,912)*)+what():don't()*^[$mul(208,358)mul(99,216,??/-%]when(40,18)>'(mul(967,259)^!%!mul(574,337)mul(855,993)from()who()<@ -&mul(679,566)[;$how()mul(773,340)+-':-mul(46,577);>+%^#mul(668,549)@;#,[])don't()mul(471,350)why()?what()where()what()</[mul(725,898):(-mul(869,478)%don't()'mul(896,319)]from(){@don't(),,why(){what(394,834)?mul(58,736)%#/ <mul(51,867)*)^why()#'mul(176,298)$where()//>,]:!where()mul(474,215):#what():%}how():mul(47,116)-,^from()?[select()>mul(566,323);!$why()what()<>{%-mul(756,641)(]{what()$>@#$%mul(478,68)!](;@+when()mul(383,83)>>@ do())(/!when(){{)~when()mul(18,568)mul(933,58))mul(53,523)what()where()>+where()^mul(847,728)>where() who()how()]mul(499,856)mul(837,413)&:who();from()@mul(711,785)@from()select()$]#-}mul(603,647)!how()'}/mul(142,83)mul(236,987)(&[)+$<&when()mul(464,484)[mul(97,923{[{;~*how(603,347)why(397,750)[mul(397,378):from()who()@$[mul(33,741)@&<['from():do()]select()/!Line truncated (def question-3 "what()-%*;[mul(826,659)what()&mul(622,241)}^from();why()mul(499,923))mul(589,186)~how()why()]/~who()}mul(57,224)* ##[[*>mul(206,45)select(){~from(63,961)+!/'@mul(365,743)^ from()mul(94,410)$how()(^ )/,mul(592,884) mul(265,485))^#[[mul(763,659),mul(275,537)$;who()*mul(511,392)))what()(+from()from()>&-mul(416,947)mul(868,183)?:where()*when()#-where(890,406)#-mul(873,379)mul(195,835)/,%?],!-{(mul(225,902)where()'(where()-@#mul(544,955)how();~when(222,774)mul(538,277),from()from(717,816)$)(!%select()mul(247,162)**why()!}/where()mul(411,570)]mul(158,805)<[)}!@$select()don't()&?mul(475,153)when()mul(44,394)mul(505,328)select(),;[+mul(228,58)}/)why()?who()mul(706,785)$!#mul(635,796)#[where(){^select(275,150)-/)mul(85,214)<when()/*&where()mul(438,107)who(); what()why()why()mul(556,985):-+;@why()}?mul(581,266)why() %mul(570,646)what();@<$mul(626,256)#>do()where()@'<mul(42,958)#{mul(980,871) ,:{^!>mul(651,67)]-mul(530,38)why()+^don't(),where();what()~mul(532,711)<how()-;(^mul(538,343);mul(403,312)#where()select()<}mul(160,441) (mul(35,591)from()mul(458,977)mul(682,17)who()select()!^ :how()from()!~mul(698,638)'<@;'where()'from()!select(458,218)mul(80,356)^,what(554,850)*<&what()select()select()do()>,;)$why()+what();%mul(265,354)-mul(338,874)?]mul(284,884)}<when()mul(473,399)%>'?where(),mul(614,138)&who()~}[why()from()mul(779,747)^mul(7,27)select()}>+^-*<mul(808,414) &)when()[;&mul(969,162):where(){mul(923,581))*when()who()}?mul(604,624)**mul(968,780)):/{mul(808,433)]!who()from()mul(103,80)@^why()!mul(335,504)&how():how()}mul(407,608)'+mul(350,417)select()>who()*mul(545,113)who()('!&how(),don't()+{$&mul(842,42)<#mul(788,22),why(),mul(581,843)why()?mul(415,102)[mul(782,483)::(&',^mul(411,597)mul(800,946)[]($}:+)]mul(6,738)who()+where()@}(where()>$when()mul(737,227)select()~ why(984,422)mul(690,299)$how()!why()when() why()>:who()mul(62,391)mul(559,901)mul(152,669)([why()-select();*(mul(674,497)mul(195,917)from()#what(),mul(332,868)select()')@#mul(957,359)(when()]>(<what()!mul(602,990)+@how()]$^mul(885,543)mul(564,365)mul(912,603)what()when()how()mul(216,398+&#'*-,]:mul(971,792)!do()from()who()mul(741,501)~how()where()<what()[#where()mul(268,825)what()mul(958,990)){?(+'mul(427,368):%?how()?(mul(725,420)?when()}-from();mul(414,122/%-when():-'@mul(450,900)&what()<{ ]<'(?do()%]^!} mul(401,278)when() -(! -do()when()*select()?@[~@from()why()mul(892,125)~what()+;/mulwhy():mul(375,500)^(#>%,mul(252,836)[why()?<how(643,18);*mul(223,308)$where()mul(401,278)why():mul(276,426)mul(793,320)what(85,700)})mul(485,616)where();when()}[! from();]mul(582,705) !:mul(427,563)<*<#how():!do()'&-}!']:'mul(615,412)where(928,116)];select()(mul(812,857)&@?[select()$~do()mul(49,314)?{mul(164,850)mul(345,646)[}from()}]<'#select()don't()<;+%where(445,34)*!mul!when()-{mul(471,900)<[-from()&@mul(442,893)where())*mul(798,495)}<+select(130,600)why()(from()mul(860,565)select()~why(406,274)mul(397,514)who()why()]~mul(654,583>where()!,mul(877,551)&select()[<?&{}when(){mul(528,802),#-)+(&select()/mul(878,466)#how(872,781)mul(964,641>}->(*[mul(847,681),why()select()select()*@,mul(211,86)when()select()-:)#']mul(416,630):(}?$[:)mul(255,942):-*:!~%@how()what()mul(117,324)\n/}mul(804,424)mul?where())%}mul(933,657)%from()what()'~!}*:mul(916,775)who()<select()<how()don't()#from(773,402);/,when()mul(425,484)> {,what(485,199)when()#mul(760/-select();mul(859,259) )?mul(21,933)what()^from()#-mul(951,427)don't()<!mul(664,380)mul(747,497)*who()}from()*+mul(505^) <#:select()]?select()mul(383,587)*mul(747,795)how()where()who()&}#:mul[@%mul(488,640)how()who()^'>mulwhere(295,787)%'~*who()@mul(500,697)where()*^!@^what():mul(737,496)^{)^how()when()#mul(387,233)']%select();}mul(89,882)}(&mul(394,392)#from()what()}who()when()when()>;^mul(639,188) [*mul(302,818)[mul(874,794)~{(<>[%mul(217,113)~why() mul(651,680)^!/'select()mul(161,158)'}/*{mul(41,452)?;;@,[~}why()mul(71,555)<select()%:when()]@what(198,130)do()mul(364,266)*+)what(65,6)'mul(503where()'{what()?mul(84,10)/;''^;mul(180,571)how()(]mul(804,566)>who()}]where()*%where()?mul(909,630)%^where()how()'mul(678,912)*)+what():don't()*^[$mul(208,358)mul(99,216,??/-%]when(40,18)>'(mul(967,259)^!%!mul(574,337)mul(855,993)from()who()<@ -&mul(679,566)[;$how()mul(773,340)+-':-mul(46,577);>+%^#mul(668,549)@;#,[])don't()mul(471,350)why()?what()where()what()</[mul(725,898):(-mul(869,478)%don't()'mul(896,319)]from(){@don't(),,why(){what(394,834)?mul(58,736)%#/ <mul(51,867)*)^why()#'mul(176,298)$where()//>,]:!where()mul(474,215):#what():%}how():mul(47,116)-,^from()?[select()>mul(566,323);!$why()what()<>{%-mul(756,641)(]{what()$>@#$%mul(478,68)!](;@+when()mul(383,83)>>@ do())(/!when(){{)~when()mul(18,568)mul(933,58))mul(53,523)what()where()>+where()^mul(847,728)>where() who()how()]mul(499,856)mul(837,413)&:who();from()@mul(711,785)@from()select()$]#-}mul(603,647)!how()'}/mul(142,83)mul(236,987)(&[)+$<&when()mul(464,484)[mul(97,923{[{;~*how(603,347)why(397,750)[mul(397,378):from()who()@$[mul(33,741)@&<['from():do()]select()/!Line truncated
(def question-4 "XMXXXMMXXSXMSMMMSXMSSSMASXMAXSMMMAASAMXASASXSXSASMSMSSSXSMASXMMSAMMMSAMXSMMMAMMSMMSXSAMXMSMSASMSMSMSSSMMSMMMMMASMSSMSSXMAMXMASAMAMXSXSXMMASA\nMXMMMMMSXMASMMAASAMXMASAMXMXXSAASMMSAMXXAAXAAAAAXAAXAXMASXASAXAAASAXAASMXMAMXMAXMAMAMAMXXSAMXAXAAAAXAAAMAMAMMSAMSAXAMMSMAMSMMAMXSXMSAMXXSASX\nXAAMAAAMXXMMASMMMXMASMMXSAXSAMSMSAASAMMSMSMMMMMAMSMSXXMXMMMSAMSSMMASXMMMXSSSSMSSMASASAMMMMAMMMSMSMSMSMMMSSXMAMAMXMMXMAAXXXAASAMAMASMXMAXMASA\nSSMXSMSMXSSSMMMXMXAMXAAASASMXMASXMMSXMAAXAAAXMXAXAXSMMMAMAMMMMXAXXXMAXMXAXXAAAMAMAXXSASXASAMAAXXXAXAXSMMAAAMSSSMMXAMMSSSMMSMMAMASXMAAMMXMXMX\nAAAXMAXMAXAAAXAAMXSSSMMMSXXMASMSMMASAMSSMMSXSXSASMAMAAXMSAXAAMXMMMMSXMSMSSMSMMMAMMSMSMMMXMAMSASAMAMXSASMMMMAAAAMSMSAMAMAAXMASMMXSASMXAXMXMAM\nSXMXSASMMMSMMMMMSAXAAXSXMAMMAXMSXMAXAMAXAXMAMXMASMAMSSSMSXSSXSAAAAAXAXXAXAMXMXMAMXAAXAAXMSSMMMAXSXSXSAMSXXSMMSMMAAXSMAMSMMSAMAXASAMASMMXAAAM\nMASMAXSAMAAAMXAXMXMXXMASAAMMSXMMAMMSSMAXSASXXMXAXXXMXAAAXAXXASXSSSSSMMMSSXMAMAXAMXMSMMMSAAMAMSMMMASAMMMXMXMAXMMSMSMMSXMAXAMMMSMASAMMMASMSSSS\nSAMAMXSXMSSSMMSMMMSAXMAXMXSAXASMSMAAXMXXMAAAASMSSMXAMXMMSMMMXMAXAAAMMAXXSAXSSSMSSXAAAAAMMXSAMSXAMAMAMXMAXSMMMAAMXAAMAMXAMMSXAXMMMASXSXMAMAMM\nMXMXXXMAAAXXXXMASAXSAXAXSAMMSAMAMMMSSMSMMSMSMMAMAMAXAMAMXAAXAMXMMMSMSXSASXMMAMAAAMAMXMXSAAXMSXMMMSSMMSSMASAMMMMMSSXMAMXXSSMMXSAMXMAXXAMSMSMM\nSASXSASAMASMMXSXMAMMMMMMMAMXMAMMMAAMXAXSAAAAMMXMAAMSSXMXSSMSXSXMAXAAAAMXMAXMAMMMMSSSMSXMMSSMSASXXXMASXAMAXAMMMMMXAMXASXMMAASMSXSMMSASMMXAMAM\nSASASMSASAXAMMMMSMMAAAMASMMXSXMXSMSXMXMMSMSMSMSSSSMAXASAMAMAMSXSASMMMXMXSXMMXMXMXAAAXAMXAMAASAMASXSXMSXMAMSMSASXSAXMAXMASMMMAMXMAAXMASAMAMAA\nMAMXMXSAMXSSMSAAAASXMMSASASXAXAXAMMXSMXMMMMAXAAXAAMASMMASMSAASXXXXAASAMXMXAXAXMXMMMMMMMMSMMMMXMSAMXAMAMMMMMASASMAAMMSMSMMMXMXMASMMXXMAMMASMS\nMXMXSAMAMMXMASAMSMMAMMMMXAAASXXSAMMASAAXMAMMMMMXXAMXSMMXMAXAMSAMSMSMSASASMSMSXSASXSMMAMXAAMAXSMXMXSMSAMXXASAMAMXMXMAMAMAAMASMSMSASASAMXSXSAM\nSMMAMASXMXMMXMAMXXSAMSASMSMXAAAMXMMASMMSSMSXAXSXSXSAMXMSMXMSMMAMXAAASAMXMSAAAASASXAMSAMMSSMASMMAMXAXMAMXMAXAMXMSXXMASMSXMSMSAXXSAMMMXSMMAMMM\nXAMXSAMAMXSAMXXSXAMXMSAXXXXXMMMMSMMASASAAXSMMXSAAMMXSMMAAAAMASXMMSMMMSMXXAMMMAMAMMAMSAMXAXMXMMAXSAMXMAMSXMXAMAMXMXMASXAMMSAMMMAMAMXAASAMXMXS\nSSMMMMSAMAMAMSMSMMMSMMSMAXMXXXMASAMSSXMMSMMAMAMMMMMXMMSSMXMSAMAMAMSXMASXXMASXSMXMAMMMXMMASXSAMXMXMMXMSMSASMMSXSAMAMAMMSAMXAMMAMMMMMMXSAMXSSX\nAAMXAAXASXSAMAAXAAAAXAASAMXAMXMASXMASAXMAMXAMASASASAAMAMXSAMAMXMASXXSAXMXXMXMASMAMXAMASMAMASMMMMXMSXXXAMAMSAAASXSASAXAAAXSAMXXSAMAMXASMMAMAS\nSSMSMMSAMASMXMXMMMXMSXMAMAXMSAMXMXAMXSXSMMXSSMXAMASXXMMSXSAMXXAXMMXAMXSAMAMASMXMAXSASMSMSMAMAAAXXXAMAMMMMMMXMMMXSASAMSSXMAMXMAXASMSAMXXMASMA\nXMASAAMAMMXAXSMSXSSXSAMXASXAMASAMAXXAMXMAXAXAMSXMMMMSMMMAMXXASXSSMMXSXMMSXXAXXMMAMSAMAXAXMASMMSXXAAXAXMAXXXSXXMASXMAXXMMASXMSMSAMAXXMAMMMXXM\nMMAMMMSXMXMMSMAXAAXAXMMSAMXMSMMMSSMMMSXSAMXSAMAASXSXAMAMMMMMMSAAAASAMAXAXXMSSSSMSXMAMMMXMXAMXSAASXMMSXMASMASXASAMMSXSASMAMAAAMMMMMMXXXSASMMX\nASAMSAMXMAAXAMXMMMMSMMMAMSMXAMAXXMAXXAMAMMAMAMSSMAXSMSAMAAAAAMMMSMMAXXMMSMMAAAXAMMSSMXSSMSMSMMMMMAAAXAXAAMAMSXMASMMASAMMXSMMMSAXMAMXAASMXAXX\nXXASXMXAXMSSMXAXAMSMAAAAXAXSMMSSSSSMMASMMMASMMMMMXMMMAASXSSMXXXXMMSSMAXAAAMMSMMMMXMASAMXAAAAMAMASMMMSMMSAMAMSMMAMAMMMAMXMXAAXMXMMAXSMMSXSMMS\nXSXMAMSSXSAMXSMXAXAMMMXSSMMAXSXAMAXAXASXMMXSMAMMMXMAAMXMXAXXMSMMXAAAXMMSXMMMAMAXXXSAMXSMSMSMXMSXSSMAAXAMASXSXAMMSAMXMAMXMSAMXSASMSMXAXMMAXAX\nMAMXSXAMXMAXMAMXSSMSSSMAAXAMXAMSMMSSMXSAMMSXMAMAAAMAXSAMMXMASAAXMMSSMXXMASMSASXXSAMXSAMMMMXXXMAXXXMXSSXSAMXSMSMAAAMMXXMAXAXSXMASAMMSMMSSMMAS\nAMXAXMMMMXAMMSAAXAMAAAASMMMXMXAMAMAMMMSAMSASMXSMXMSAXSAMXAXMSSSMXMAXMAMXXAAMMMMAAXMAMAXMXXAMMMSAMASXAAXMXMAMAAMXXMMSASMXMMXSAMAMAMXASAAAXXXX\nMMMMMXAASXSAAMMMSMMXSMMMXSXASXMXAMXSXAMAMMASXMAXAAMMMSXXSXSXXXMXAMXXMSSXMMAMAXMXMSMSSSMSSMMSAAMXSAMMMMMMAMASXMSMMSXMASAMXXXXAMAXSMSAMMXMMSXM\nXMAXASMSMAMMMMAXAXMMMMXMXXSAXMMSASMMMMMMMMAMAMAMMSMMAXMXSAMXMXSSMSSMAAMASXMSSSMMXXXMAXAAMSAMMSMAMASMMMASXSASAMMAASAMXMMAXMMSXMAXMXMAMAMMAMAS\nXXSMAMXAMXMAXSMXMMSASAMXAXMMSMXAAMAMAAASMSXSAMXSAAAXXXXAMXMASAAAMAAMMMSAMAXAAAMAAMXMAMMMSMXXXAMXSAMXASAXMAMSAXMMMXMSSSXSXAAAAMSSMASMMAMMASAM\nXAMAMXXSSXSAMAAMSASXSASMMXSAAXAMMMMXSSMSAAAMASXMXSMMSMMMSXXASMSMMSSMXAMASXMMSMMSMSASMSMSAMXXSXSMMMMSAMASXMASAMXSMSMAMMAMXMMSSMAAMAMXMAMXAMAS\nXMXAXSXMAASXXMSMMAMAXMMAAAMMMSXXXXSAMXXMMMSMASXSXMAAXAAXMMMXSXMXAAAMMMSMMAXAAAAAAXASAAXSASXMSAMXAAMMXXXMASAMXAXSAAMMXSAMAMMXAMSAMXXXMASMASAM\nMAAXXSSMMMMASXMMMSMSMMSAMXSSMMMSAASAMXSMXAXAMXASAMMMMSMMAAXXMASMSMMAAMAASXMMSSMMSMSMXMMSAMXMMAMSMSXAMSXSXMXSXSAMSMSXASASXSSSMMXXSSMSMAMMAMAS\nAXXXXXAMXAMAMAAXXAAMAAAAXAAAASASMXMAMAMMMSSMXMMMAMMAXXXXASXAMMMMMXXMXXMMMAAMAMXXMXXAMXMMASXXMAMXMAMAMMAMXMXXMXMMMXMMMMXMAAAAXXXAAAAXMASMXSMM\nSMMSXSAMSMMMMSMMMMMMMMMMMMSMMMASXMSAMXSAAAAXAXASXMAXMASAMXXXAAAAAAXSMMSSSSMMASAXMAMMMMXSXMASXSSXMSSSMSAMAMMMSAMASAXASXMMMMSMMSMMMMMMMSAMXSAM\nMAXAAXAMAXMXAXASXSSXXAAMXMXXSMMMAXSXMMSMMSMMMXMSMMMSMAMMSMMMMSMSMSAAXXAAXAASAMAAMMSMAAMAMMMXMAAXXAAAASASXSAAMAXASMSMMAAXXXAMAXXAAAAMXMASASAM\nMSMMSSMSSSMMMMAXAAASMSMSAASASXSMXMMAXAXXAXXMSAMXAAXAMMSASAASAMAXAXMMMMMSSSMMAXSXSMAXSSSXSAMXSMSMMMSMMMAMMSMSMSMAXMAMXSMMSXMAXMXSSSMSMSXMXXXM\nAAXXAAMAASXALine truncated (def question-4 "XMXXXMMXXSXMSMMMSXMSSSMASXMAXSMMMAASAMXASASXSXSASMSMSSSXSMASXMMSAMMMSAMXSMMMAMMSMMSXSAMXMSMSASMSMSMSSSMMSMMMMMASMSSMSSXMAMXMASAMAMXSXSXMMASA\nMXMMMMMSXMASMMAASAMXMASAMXMXXSAASMMSAMXXAAXAAAAAXAAXAXMASXASAXAAASAXAASMXMAMXMAXMAMAMAMXXSAMXAXAAAAXAAAMAMAMMSAMSAXAMMSMAMSMMAMXSXMSAMXXSASX\nXAAMAAAMXXMMASMMMXMASMMXSAXSAMSMSAASAMMSMSMMMMMAMSMSXXMXMMMSAMSSMMASXMMMXSSSSMSSMASASAMMMMAMMMSMSMSMSMMMSSXMAMAMXMMXMAAXXXAASAMAMASMXMAXMASA\nSSMXSMSMXSSSMMMXMXAMXAAASASMXMASXMMSXMAAXAAAXMXAXAXSMMMAMAMMMMXAXXXMAXMXAXXAAAMAMAXXSASXASAMAAXXXAXAXSMMAAAMSSSMMXAMMSSSMMSMMAMASXMAAMMXMXMX\nAAAXMAXMAXAAAXAAMXSSSMMMSXXMASMSMMASAMSSMMSXSXSASMAMAAXMSAXAAMXMMMMSXMSMSSMSMMMAMMSMSMMMXMAMSASAMAMXSASMMMMAAAAMSMSAMAMAAXMASMMXSASMXAXMXMAM\nSXMXSASMMMSMMMMMSAXAAXSXMAMMAXMSXMAXAMAXAXMAMXMASMAMSSSMSXSSXSAAAAAXAXXAXAMXMXMAMXAAXAAXMSSMMMAXSXSXSAMSXXSMMSMMAAXSMAMSMMSAMAXASAMASMMXAAAM\nMASMAXSAMAAAMXAXMXMXXMASAAMMSXMMAMMSSMAXSASXXMXAXXXMXAAAXAXXASXSSSSSMMMSSXMAMAXAMXMSMMMSAAMAMSMMMASAMMMXMXMAXMMSMSMMSXMAXAMMMSMASAMMMASMSSSS\nSAMAMXSXMSSSMMSMMMSAXMAXMXSAXASMSMAAXMXXMAAAASMSSMXAMXMMSMMMXMAXAAAMMAXXSAXSSSMSSXAAAAAMMXSAMSXAMAMAMXMAXSMMMAAMXAAMAMXAMMSXAXMMMASXSXMAMAMM\nMXMXXXMAAAXXXXMASAXSAXAXSAMMSAMAMMMSSMSMMSMSMMAMAMAXAMAMXAAXAMXMMMSMSXSASXMMAMAAAMAMXMXSAAXMSXMMMSSMMSSMASAMMMMMSSXMAMXXSSMMXSAMXMAXXAMSMSMM\nSASXSASAMASMMXSXMAMMMMMMMAMXMAMMMAAMXAXSAAAAMMXMAAMSSXMXSSMSXSXMAXAAAAMXMAXMAMMMMSSSMSXMMSSMSASXXXMASXAMAXAMMMMMXAMXASXMMAASMSXSMMSASMMXAMAM\nSASASMSASAXAMMMMSMMAAAMASMMXSXMXSMSXMXMMSMSMSMSSSSMAXASAMAMAMSXSASMMMXMXSXMMXMXMXAAAXAMXAMAASAMASXSXMSXMAMSMSASXSAXMAXMASMMMAMXMAAXMASAMAMAA\nMAMXMXSAMXSSMSAAAASXMMSASASXAXAXAMMXSMXMMMMAXAAXAAMASMMASMSAASXXXXAASAMXMXAXAXMXMMMMMMMMSMMMMXMSAMXAMAMMMMMASASMAAMMSMSMMMXMXMASMMXXMAMMASMS\nMXMXSAMAMMXMASAMSMMAMMMMXAAASXXSAMMASAAXMAMMMMMXXAMXSMMXMAXAMSAMSMSMSASASMSMSXSASXSMMAMXAAMAXSMXMXSMSAMXXASAMAMXMXMAMAMAAMASMSMSASASAMXSXSAM\nSMMAMASXMXMMXMAMXXSAMSASMSMXAAAMXMMASMMSSMSXAXSXSXSAMXMSMXMSMMAMXAAASAMXMSAAAASASXAMSAMMSSMASMMAMXAXMAMXMAXAMXMSXXMASMSXMSMSAXXSAMMMXSMMAMMM\nXAMXSAMAMXSAMXXSXAMXMSAXXXXXMMMMSMMASASAAXSMMXSAAMMXSMMAAAAMASXMMSMMMSMXXAMMMAMAMMAMSAMXAXMXMMAXSAMXMAMSXMXAMAMXMXMASXAMMSAMMMAMAMXAASAMXMXS\nSSMMMMSAMAMAMSMSMMMSMMSMAXMXXXMASAMSSXMMSMMAMAMMMMMXMMSSMXMSAMAMAMSXMASXXMASXSMXMAMMMXMMASXSAMXMXMMXMSMSASMMSXSAMAMAMMSAMXAMMAMMMMMMXSAMXSSX\nAAMXAAXASXSAMAAXAAAAXAASAMXAMXMASXMASAXMAMXAMASASASAAMAMXSAMAMXMASXXSAXMXXMXMASMAMXAMASMAMASMMMMXMSXXXAMAMSAAASXSASAXAAAXSAMXXSAMAMXASMMAMAS\nSSMSMMSAMASMXMXMMMXMSXMAMAXMSAMXMXAMXSXSMMXSSMXAMASXXMMSXSAMXXAXMMXAMXSAMAMASMXMAXSASMSMSMAMAAAXXXAMAMMMMMMXMMMXSASAMSSXMAMXMAXASMSAMXXMASMA\nXMASAAMAMMXAXSMSXSSXSAMXASXAMASAMAXXAMXMAXAXAMSXMMMMSMMMAMXXASXSSMMXSXMMSXXAXXMMAMSAMAXAXMASMMSXXAAXAXMAXXXSXXMASXMAXXMMASXMSMSAMAXXMAMMMXXM\nMMAMMMSXMXMMSMAXAAXAXMMSAMXMSMMMSSMMMSXSAMXSAMAASXSXAMAMMMMMMSAAAASAMAXAXXMSSSSMSXMAMMMXMXAMXSAASXMMSXMASMASXASAMMSXSASMAMAAAMMMMMMXXXSASMMX\nASAMSAMXMAAXAMXMMMMSMMMAMSMXAMAXXMAXXAMAMMAMAMSSMAXSMSAMAAAAAMMMSMMAXXMMSMMAAAXAMMSSMXSSMSMSMMMMMAAAXAXAAMAMSXMASMMASAMMXSMMMSAXMAMXAASMXAXX\nXXASXMXAXMSSMXAXAMSMAAAAXAXSMMSSSSSMMASMMMASMMMMMXMMMAASXSSMXXXXMMSSMAXAAAMMSMMMMXMASAMXAAAAMAMASMMMSMMSAMAMSMMAMAMMMAMXMXAAXMXMMAXSMMSXSMMS\nXSXMAMSSXSAMXSMXAXAMMMXSSMMAXSXAMAXAXASXMMXSMAMMMXMAAMXMXAXXMSMMXAAAXMMSXMMMAMAXXXSAMXSMSMSMXMSXSSMAAXAMASXSXAMMSAMXMAMXMSAMXSASMSMXAXMMAXAX\nMAMXSXAMXMAXMAMXSSMSSSMAAXAMXAMSMMSSMXSAMMSXMAMAAAMAXSAMMXMASAAXMMSSMXXMASMSASXXSAMXSAMMMMXXXMAXXXMXSSXSAMXSMSMAAAMMXXMAXAXSXMASAMMSMMSSMMAS\nAMXAXMMMMXAMMSAAXAMAAAASMMMXMXAMAMAMMMSAMSASMXSMXMSAXSAMXAXMSSSMXMAXMAMXXAAMMMMAAXMAMAXMXXAMMMSAMASXAAXMXMAMAAMXXMMSASMXMMXSAMAMAMXASAAAXXXX\nMMMMMXAASXSAAMMMSMMXSMMMXSXASXMXAMXSXAMAMMASXMAXAAMMMSXXSXSXXXMXAMXXMSSXMMAMAXMXMSMSSSMSSMMSAAMXSAMMMMMMAMASXMSMMSXMASAMXXXXAMAXSMSAMMXMMSXM\nXMAXASMSMAMMMMAXAXMMMMXMXXSAXMMSASMMMMMMMMAMAMAMMSMMAXMXSAMXMXSSMSSMAAMASXMSSSMMXXXMAXAAMSAMMSMAMASMMMASXSASAMMAASAMXMMAXMMSXMAXMXMAMAMMAMAS\nXXSMAMXAMXMAXSMXMMSASAMXAXMMSMXAAMAMAAASMSXSAMXSAAAXXXXAMXMASAAAMAAMMMSAMAXAAAMAAMXMAMMMSMXXXAMXSAMXASAXMAMSAXMMMXMSSSXSXAAAAMSSMASMMAMMASAM\nXAMAMXXSSXSAMAAMSASXSASMMXSAAXAMMMMXSSMSAAAMASXMXSMMSMMMSXXASMSMMSSMXAMASXMMSMMSMSASMSMSAMXXSXSMMMMSAMASXMASAMXSMSMAMMAMXMMSSMAAMAMXMAMXAMAS\nXMXAXSXMAASXXMSMMAMAXMMAAAMMMSXXXXSAMXXMMMSMASXSXMAAXAAXMMMXSXMXAAAMMMSMMAXAAAAAAXASAAXSASXMSAMXAAMMXXXMASAMXAXSAAMMXSAMAMMXAMSAMXXXMASMASAM\nMAAXXSSMMMMASXMMMSMSMMSAMXSSMMMSAASAMXSMXAXAMXASAMMMMSMMAAXXMASMSMMAAMAASXMMSSMMSMSMXMMSAMXMMAMSMSXAMSXSXMXSXSAMSMSXASASXSSSMMXXSSMSMAMMAMAS\nAXXXXXAMXAMAMAAXXAAMAAAAXAAAASASMXMAMAMMMSSMXMMMAMMAXXXXASXAMMMMMXXMXXMMMAAMAMXXMXXAMXMMASXXMAMXMAMAMMAMXMXXMXMMMXMMMMXMAAAAXXXAAAAXMASMXSMM\nSMMSXSAMSMMMMSMMMMMMMMMMMMSMMMASXMSAMXSAAAAXAXASXMAXMASAMXXXAAAAAAXSMMSSSSMMASAXMAMMMMXSXMASXSSXMSSSMSAMAMMMSAMASAXASXMMMMSMMSMMMMMMMSAMXSAM\nMAXAAXAMAXMXAXASXSSXXAAMXMXXSMMMAXSXMMSMMSMMMXMSMMMSMAMMSMMMMSMSMSAAXXAAXAASAMAAMMSMAAMAMMMXMAAXXAAAASASXSAAMAXASMSMMAAXXXAMAXXAAAAMXMASASAM\nMSMMSSMSSSMMMMAXAAASMSMSAASASXSMXMMAXAXXAXXMSAMXAAXAMMSASAASAMAXAXMMMMMSSSMMAXSXSMAXSSSXSAMXSMSMMMSMMMAMMSMSMSMAXMAMXSMMSXMAXMXSSSMSMSXMXXXM\nAAXXAAMAASXALine truncated
(def question-5 "96|89\n15|17\n15|93\n55|49\n55|82\n55|72\n37|87\n37|26\n37|33\n37|12\n52|57\n52|89\n52|67\n52|19\n52|38\n58|97\n58|22\n58|91\n58|93\n58|32\n58|12\n61|49\n61|87\n61|58\n61|39\n61|63\n61|52\n61|84\n33|51\n33|49\n33|21\n33|71\n33|44\n33|97\n33|57\n33|67\n54|41\n54|56\n54|26\n54|96\n54|39\n54|44\n54|95\n54|52\n54|45\n88|57\n88|84\n88|55\n88|89\n88|91\n88|32\n88|25\n88|63\n88|33\n88|69\n24|26\n24|37\n24|45\n24|33\n24|25\n24|69\n24|15\n24|56\n24|87\n24|84\n24|63\n32|24\n32|21\n32|93\n32|62\n32|51\n32|72\n32|41\n32|71\n32|19\n32|95\n32|17\n32|53\n13|55\n13|65\n13|87\n13|96\n13|69\n13|25\n13|24\n13|26\n13|84\n13|33\n13|52\n13|39\n13|79\n31|25\n31|96\n31|55\n31|45\n31|61\n31|49\n31|39\n31|87\n31|58\n31|12\n31|37\n31|84\n31|89\n31|24\n93|38\n93|51\n93|62\n93|17\n93|44\n93|41\n93|79\n93|53\n93|65\n93|88\n93|56\n93|19\n93|71\n93|97\n93|24\n87|21\n87|19\n87|17\n87|89\n87|97\n87|93\n87|62\n87|55\n87|57\n87|15\n87|82\n87|22\n87|12\n87|63\n87|33\n87|49\n53|56\n53|37\n53|71\n53|54\n53|97\n53|17\n53|31\n53|88\n53|51\n53|79\n53|13\n53|61\n53|38\n53|95\n53|19\n53|47\n53|72\n71|51\n71|61\n71|37\n71|69\n71|96\n71|24\n71|87\n71|39\n71|65\n71|95\n71|47\n71|31\n71|79\n71|44\n71|88\n71|54\n71|84\n71|26\n84|58\n84|25\n84|77\n84|89\n84|82\n84|63\n84|57\n84|52\n84|33\n84|55\n84|17\n84|12\n84|26\n84|49\n84|67\n84|93\n84|53\n84|32\n84|91\n21|65\n21|39\n21|41\n21|56\n21|52\n21|37\n21|88\n21|62\n21|31\n21|47\n21|79\n21|61\n21|51\n21|69\n21|13\n21|72\n21|24\n21|54\n21|84\n21|95\n69|45\n69|57\n69|89\n69|33\n69|84\n69|58\n69|91\n69|63\n69|82\n69|96\n69|25\n69|15\n69|67\n69|49\n69|39\n69|93\n69|32\n69|87\n69|52\n69|12\n69|55\n49|17\n49|79\n49|67\n49|51\n49|54\n49|22\n49|57\n49|93\n49|72\n49|77\n49|38\n49|13\n49|82\n49|62\n49|44\n49|21\n49|95\n49|71\n49|32\n49|15\n49|53\n49|19\n47|58\n47|57\n47|39\n47|63\n47|89\n47|96\n47|33\n47|93\n47|91\n47|26\n47|45\n47|55\n47|25\n47|15\n47|82\n47|69\n47|67\n47|77\n47|32\n47|87\n47|49\n47|52\n47|12\n25|57\n25|32\n25|62\n25|63\n25|33\n25|77\n25|71\n25|19\n25|91\n25|21\n25|38\n25|72\n25|97\n25|93\n25|95\n25|12\n25|15\n25|82\n25|54\n25|53\n25|22\n25|67\n25|49\n25|17\n65|26\n65|52\n65|63\n65|47\n65|77\n65|91\n65|12\n65|39\n65|82\n65|96\n65|61\n65|56\n65|15\n65|49\n65|55\n65|88\n65|58\n65|25\n65|84\n65|87\n65|45\n65|89\n65|69\n65|33\n62|71\n62|45\n62|52\n62|95\n62|44\n62|56\n62|61\n62|39\n62|72\n62|65\n62|41\n62|31\n62|37\n62|97\n62|96\n62|47\n62|24\n62|69\n62|79\n62|84\n62|13\n62|54\n62|51\n62|88\n63|57\n63|97\n63|19\n63|15\n63|21\n63|77\n63|72\n63|54\n63|13\n63|67\n63|51\n63|71\n63|53\n63|38\n63|49\n63|17\n63|93\n63|95\n63|41\n63|32\n63|22\n63|82\n63|44\n63|62\n57|67\n57|93\n57|44\n57|54\n57|19\n57|79\n57|56\n57|38\n57|62\n57|21\n57|53\n57|13\n57|37\n57|22\n57|24\n57|31\n57|72\n57|17\n57|95\n57|65\n57|71\n57|51\n57|97\n57|41\n77|19\n77|79\n77|31\n77|22\n77|21\n77|67\n77|97\n77|62\n77|54\n77|82\n77|32\n77|51\n77|71\n77|53\n77|44\n77|95\n77|38\n77|57\n77|41\n77|24\n77|13\n77|93\n77|72\n77|17\n19|62\n19|97\n19|39\n19|21\n19|13\n19|54\n19|69\n19|88\n19|79\n19|45\n19|47\n19|56\n19|51\n19|84\n19|95\n19|72\n19|31\n19|61\n19|24\n19|44\n19|37\n19|41\n19|65\n19|71\n39|84\n39|67\n39|91\n39|12\n39|32\n39|53\n39|87\n39|25\n39|63\n39|89\n39|96\n39|58\n39|15\n39|49\n39|38\n39|52\n39|33\n39|22\n39|55\n39|57\n39|77\n39|93\n39|26\n39|82\n79|87\n79|88\n79|26\n79|61\n79|24\n79|52\n79|47\n79|37\n79|33\n79|91\n79|84\n79|65\n79|45\n79|63\n79|25\n79|39\n79|31\n79|56\n79|12\n79|58\n79|96\n79|69\n79|89\n79|55\n41|87\n41|79\n41|65\n41|39\n41|44\n41|55\n41|61\n41|37\n41|84\n41|58\n41|52\n41|45\n41|69\n41|56\n41|96\n41|47\n41|13\n41|51\n41|24\n41|31\n41|88\n41|25\n41|26\n41|89\n12|41\n12|77\n12|71\n12|67\n12|97\n12|93\n12|91\n12|82\n12|63\n12|62\n12|19\n12|32\n12|57\n12|21\n12|54\n12|38\n12|95\n12|53\n12|15\n12|49\n12|72\n12|17\n12|33\n12|22\n91|71\n91|63\n91|77\n91|49\n91|57\n91|51\n91|53\n91|33\n91|38\n91|82\n91|93\n91|62\n91|32\n91|41\n91|15\n91|22\n91|97\n91|21\n91|54\n91|17\n91|72\n91|95\n91|67\n91|19\n51|61\n51|26\n51|87\n51|65\n51|44\n51|84\n51|24\n51|39\n51|45\n51|52\n51|56\n51|96\n51|79\n51|47\n51|13\n51|89\n51|12\n51|69\n51|55\n51|31\n51|25\n51|58\n51|37\n51|88\n95|56\n95|58\n95|41\n95|39\n95|96\n95|79\n95|26\n95|47\n95|55\n95|45\n95|31\n95|61\n95|88\n95|84\n95|89\n95|65\n95|69\n95|44\n95|52\n95|87\n95|37\n95|24\n95|13\n95|51\n22|47\n22|21\n22|31\n22|62\n22|88\n22|45\n22|79\n22|97\n22|41\n22|37\n22|19\n22|61\n22|13\n22|24\n22|54\n22|69\n22|65\n22|44\n22|51\n22|95\n22|17\n22|71\n22|56\n22|72\n97|51\n97|31\n97|41\n97|54\n97|61\n97|71\n97|84\n97|45\n97|47\n97|95\n97|24\n97|26\n97|79\n97|96\n97|37\n97|72\n97|52\n97|69\n97|13\n97|44\n97|56\n97|65\n97|88\n97|39\n38|61\n38|31\n38|47\n38|65\n38|44\n38|88\n38|41\n38|37\n38|95\n38|62\n38|56\n38|79\n38|22\n38|17\n38|19\n38|97\n38|21\n38|71\n38|24\n38|51\n38|54\n38|72\n38|69\n38|13\n82|32\n82|53\n82|79\n82|17\n82|37\n82|44\n82|57\n82|31\n82|38\n82|54\n82|95\n82|13\n82|41\n82|19\n82|72\n82|24\n82|62\n82|71\n82|21\n82|93\n82|51\n82|67\n82|22\n82|97\n44|45\n44|87\n44|37\n44|47Line truncated
+85
View File
@@ -0,0 +1,85 @@
(ns question-5
(:require [clojure.string :as strings]
[inputs]))
(def mock-input "47|53\n97|13\n97|61\n97|47\n75|29\n61|13\n75|53\n29|13\n97|29\n53|29\n61|53\n97|53\n61|29\n47|13\n75|47\n97|75\n47|61\n75|61\n47|29\n75|13\n53|13\n\n75,47,61,53,29\n97,61,53,29,13\n75,29,13\n75,97,47,61,53\n61,13,29\n97,13,75,29,47")
(defn parse-rule [str-rule]
(mapv parse-long (strings/split str-rule #"\|")))
(defn parse-rules [str-rules]
(mapv parse-rule str-rules))
(defn get-raw-rules [input]
(-> input
(strings/split #"\n\n")
first
(strings/split-lines)
parse-rules))
(defn index-of [vec itm]
(.indexOf vec itm))
(defn create-rule [[low high]]
(fn [xmas-update]
(let [low-idx (index-of xmas-update low)
high-idx (index-of xmas-update high)]
(or (= low-idx -1)
(= high-idx -1)
(< low-idx high-idx)))))
(defn rules-from-raw-rules [raw-rules]
(let [rules (map create-rule raw-rules)]
(fn [xmas-update] (every? #(% xmas-update) rules))))
(defn get-rules [input]
(rules-from-raw-rules (get-raw-rules input)))
(defn get-xmas-updates [input]
(let [parse-xmas-input #(mapv parse-long (strings/split % #"\,"))
parse-xmas-inputs #(map parse-xmas-input %)]
(-> input
(strings/split #"\n\n")
second
(strings/split-lines)
parse-xmas-inputs)))
(defn get-middle [v]
(get v (/ (-> v count dec) 2)))
(defn question-5-a [input]
(let [rules (get-rules input)
xmas-updates (get-xmas-updates input)
xf (comp (filter rules) (map get-middle))]
(transduce xf + 0 xmas-updates)))
(defn fix-xmas-update-for-rule [xmas-update [low high]]
(let [low-idx (index-of xmas-update low)
high-idx (index-of xmas-update high)]
(if (and (not= high-idx -1) (not= low-idx -1) (< high-idx low-idx))
(-> xmas-update (assoc low-idx high) (assoc high-idx low))
xmas-update)))
(defn do-fix-xmas-update [xmas-update raw-rules]
(if (empty? raw-rules)
xmas-update
(recur (fix-xmas-update-for-rule xmas-update (first raw-rules)) (rest raw-rules))))
(defn fix-xmas-update [xmas-update raw-rules]
(let [ret (do-fix-xmas-update xmas-update raw-rules)]
(if ((rules-from-raw-rules raw-rules) ret)
ret
(recur ret raw-rules))))
(defn question-5-b [input]
(let [rules (get-rules input)
raw-rules (get-raw-rules input)
xmas-updates (get-xmas-updates input)
xf (comp (remove rules)
(map #(fix-xmas-update % raw-rules))
(map get-middle))]
(transduce xf + 0 xmas-updates)))
(defn -main []
(println "Solution to question 5-a is: " (question-5-a inputs/question-5))
(println "Solution to question 5-b is: " (question-5-b inputs/question-5)))