This commit is contained in:
Yanick Champoux 2018-12-02 11:17:21 -05:00
parent 292bca1eca
commit 9d40efda2b
2 changed files with 278 additions and 0 deletions

250
2018/02/input.txt Normal file
View File

@ -0,0 +1,250 @@
qwubbihrkplymcraxefntvdzns
qwugbihrkplyzcjahefttvdzns
qwugbihrkplymcjoxrsotvdzns
qwugbphrkplympjaxmfotvdzns
qwugbghrkpltbcjaxefotvdzns
qwubbihrwpuymcjaxefotvdzns
qiugpihrkplymcwaxefotvdzns
qwugbihrkplymcjavefotvotns
qwugbihrkpvymcjaxefotvnzes
qwvgbihrkpltmcnaxefotvdzns
qwugvihrkplymvjaxefotvczns
qwugbihrkplymwjazefotvyzns
qwugbihrkplbmcjbxefttvdzns
qhugbihrkplymcjaxefotnazns
qwugbihrkpyyacjacefotvdzns
qwugsihrkpsymcjaxafotvdzns
qwugbihriplymcjixefosvdzns
qwuibihrkjlvmcjaxefotvdzns
qwugbjhrgplymcjaxefotvdzys
qwugnimrkplymcjayefotvdzns
qwumjihrkplymcjexefotvdzns
qwugbihukptymcjaxefotvvzns
qwughthrgplymcjaxefotvdzns
qlugbihrkplymcjbxhfotvdzns
qhugbiyrkplymcjaxefotvdzes
qwugbihrkvlymcjaxecotvtzns
qwugbihrkphymcjaxefitvizns
qwugbbhdtplymcjaxefotvdzns
qwugbihrkplymceaxefotvltns
mwugbihrkptymcpaxefotvdzns
qwugbihrdplymcvaxefotvdwns
qwugbihrkplymcjaxekhtvhzns
qjugbihrkplyjcjaxefonvdzns
qwugbihrjplymcjaxefgtudzns
qlugbihrkplymcjaxefztvdpns
qwugbihrkclyvpjaxefotvdzns
qwugbihrsplymnjhxefotvdzns
qwudbihrbxlymcjaxefotvdzns
qwugbihrkplymcjxxefatvdzng
qwujbihrkplyqdjaxefotvdzns
qwugnihrkplamcjaxefotvmzns
qwugnihrkplymcjajekotvdzns
qwugbihrkslymcjamsfotvdzns
fwugbihrkplymcjaxetotvdzne
qwughihrkplyucfaxefotvdzns
qwuebihrkplymcraxefotvdzgs
qwugbinrkplymcjaxefodvdznh
qwudbihrkplymcjsxefotvjzns
qwlgbihrkzlymcjixefotvdzns
qwugbihckpoymcpaxefotvdzns
qwfgbibskplymcjaxefotvdzns
qwugbihrkplymczaxdfotvuzns
qwugbihwkplymcjaxepxtvdzns
qwubbihrkplymcjaxefntfdzns
qwunbihrkpaymcjaxefotvdzni
qwugfihrkplymujaxefotvdzni
qwugrihrkplymkjaxxfotvdzns
ztugbihrkplymcjaxefotvdznt
qwugbihrkplvmcjaxefotvdzph
qwugtinrfplymcjaxefotvdzns
qwugbihrkplamcjkmefotvdzns
qwtgbihryplymcjaxeeotvdzns
qwugbiazkplymhjaxefotvdzns
pwugbihrkplymklaxefotvdzns
wwugbihkxplymcjaxefotvdzns
dwugbihrgpdymcjaxefotvdzns
qwulbihrkplymcjaxefoqvqzns
qvugbihrkplyhcjtxefotvdzns
qwugbihrkplymcjaxcfotvfzjs
qwugbihrkpkymyjaxdfotvdzns
qwugbinrkplymcjswefotvdzns
qcuguiqrkplymcjaxefotvdzns
qwugbihlkplyccjaxefrtvdzns
qwugbihpkplomcjaxefotvdhns
qwggbphrkplymcjaxbfotvdzns
qwuipihrkplymcjaxefotvdznt
qwugbihrhplyccjaxeforvdzns
qwugbdhrkplymcjdxefotvdznv
qwugbihrkplymcjaxefotvbfos
qwugtihrkplymcocxefotvdzns
qwugbihrkpljmcjaxwfovvdzns
qwugbnhrkplymcjaxefotvdxnm
qwugbihrkpeymcjauefotvlzns
qwugbihjkplymcraxefftvdzns
qwugbghrkplymcjaxefotvizni
qwwgbihrkplymcjrxefotvrzns
qwugbihrkplymzjawexotvdzns
qwugnihrkplymcjpxnfotvdzns
qwugbihrkdlytcjaxecotvdzns
qwugbihrkacymdjaxefotvdzns
qlugbehrkplymcjaxzfotvdzns
fwugbihrkplymcjamefotldzns
qwugbihrkplymcjarefotlszns
qwsgbihrkpnymcjfxefotvdzns
awuubihrkplymcjaxefrtvdzns
qwngbihrkpjtmcjaxefotvdzns
qwugbihrkpltmkjaxefytvdzns
ewugbihrkplymcjvxefotvdzus
qwugbihrpplymcjaxsfmtvdzns
qwrgbihrmplymcjaxefutvdzns
qwugbihrknxymcwaxefotvdzns
qwugbnurkplymcjabefotvdzns
qwugbihrkphomfjaxefotvdzns
qwugbchrkplymcjaxefctvdens
qwugbidrkplymcjaxefotwwzns
qwggbohrkplgmcjaxefotvdzns
nwkgbihrkplymcjaxqfotvdzns
qwuibihrkpnymajaxefotvdzns
qwugsihrzplymujaxefotvdzns
qwugbihrkplumcgaxefodvdzns
qwugbqhrkplymcjaxefotvddts
qwugbiorkpvyacjaxefotvdzns
bjugbihukplymcjaxefotvdzns
qwugbyhrkplymxjaxexotvdzns
vwugbihrkplymcraxefotgdzns
qwugbihrkplymjwaxeaotvdzns
qwpsbihrkplykcjaxefotvdzns
qwugbqhrkplymcjaxefotgdzno
qwugbjhrkplymcjaxefatvczns
qwuglihrkclymcjvxefotvdzns
qjugbihrkpsymcjajefotvdzns
qwugbinrkptymcjaxedotvdzns
qwurbihrkglymcjaxefomvdzns
qfugbihrsxlymcjaxefotvdzns
lwuggihrkplymcjaxefotvdzds
qwugbihrkplymcjhxwfjtvdzns
qwugbhjrkplymcjaxefotvdyns
qwugbihrkplymcjoxefepvdzns
awwgbihryplymcjaxefotvdzns
qpugbihrkplymcjaxekorvdzns
qwulbihrkplymcuapefotvdzns
qwugbwhrkplymljaxefotvdrns
qwugxihrkplymjjalefotvdzns
qwugbmhrkplymcjyxefotvdnns
qwugbihrkplymcjnxgfotsdzns
qwygbihrkplsmczaxefotvdzns
qwugbihrkplymqjaxefovgdzns
qwuwbihrkplymcjaxefktvdznu
qwugbihrkplyfcjaxeoowvdzns
qwufbiyrkplymcjaxedotvdzns
qwusbirrkplymcjaxefotvdlns
qwurbihroplymtjaxefotvdzns
qiugbihrkplymcjaxefvtvmzns
qwugrihrkflymcjaxefotvdzls
qwugbimrzplymcoaxefotvdzns
qyugbiwrkplymcjasefotvdzns
qwubbihrkpiymcjaxefotvdzws
qwugbilrkplymjjgxefotvdzns
qwugbihykplympjaxefotgdzns
qwugmxhrkplymcjaxefotvdins
qwfjbahrkplymcjaxefotvdzns
owuzbihrkplymcbaxefotvdzns
qwugbihrkilymcjaxefotsdzvs
qwugbwhrkplymcpzxefotvdzns
qwugbihrkplymcjlcefotvdjns
kwugbihrkplymcjaxefotvhdns
qwulbihrkplymcfwxefotvdzns
qwxabihrkplyhcjaxefotvdzns
qwugbihrzpoymcjaxefotqdzns
qwugbihrknlymcjabefovvdzns
qyugbihrkplymclaxefotvgzns
qwugbxhrkpgymcjaxefotvdlns
qwuplihrkplymcjaxefhtvdzns
qwugbihruplymcjaxefotmdzps
qwugkihrkplymcqtxefotvdzns
qwugbihrkplymcjaxeyodvszns
qwukbihrkplymojaxefotvczns
nwugbihrkplymcjaxrfothdzns
qwugbihrkklymcjaxqfotvdzcs
qwugbihrkplemcjaxefotvufns
qwugbihrkplymcjaxbfitvdzne
qwugbizrkplymcjaxgfotvdhns
qwulbihrxplymcjaxefolvdzns
jwugbihckpoymcpaxefotvdzns
qwugeihrkplymbjcxefotvdzns
qwuxbihbkplymcjaxeuotvdzns
qwugbshrkplyvcjlxefotvdzns
qwugbimrjplymcjaxtfotvdzns
qwugzikrkplymcjaxefxtvdzns
qwugbihrkplymcjaxefftvdgnq
qwugbihnkilymcjaxemotvdzns
qfugbihrkplyfcjadefotvdzns
qwugbihrkplymrsaxefwtvdzns
qwugfihrkpsymckaxefotvdzns
qwulbihrkplymyjaxefotvdkns
quugbikrkpkymcjaxefotvdzns
qwugbihfgplymdjaxefotvdzns
qougbihrkplemcjaqefotvdzns
qwugbihrkplemcjjxefotvdyns
qfuhbikrkplymcjaxefotvdzns
qhugbihrcplymcjaxefrtvdzns
qwugbmhnkplymcjnxefotvdzns
qwugbihrkplymmjaaefofvdzns
qwugbihrtplykcjaxefoxvdzns
qwugbihrkmvymcjaxefetvdzns
qwugbfjrkplymcjaxefotadzns
qwuibihrrplymcjaxefotvdznv
qwcgbihrkjlymcjzxefotvdzns
qwugbihrkplymcjuxefytvzzns
qwkgwihrkllymcjaxefotvdzns
qwugbihrkplymcpaxgfogvdzns
qwuvbihrkplymcdaxefotvdmns
qwtgbihrkplqmcjgxefotvdzns
qwuglihrkplnmcjaxefptvdzns
qbugbihrkplymcjawefotidzns
qwegbihrvplymcjaxefqtvdzns
qwugbihrgqlyncjaxefotvdzns
qwugbihrpplymcjaxefotvdeqs
qwugbihrkplypzjaxefbtvdzns
qwugbihrkpkyncjanefotvdzns
qwugbshrkplymcjaxefotfdzys
qwugbihrkpymmcjaxefotzdzns
qwugbphrkplymcjaxefotvdzru
qyugbihrkplamcjjxefotvdzns
qwugbihrmphymcjaxefotedzns
qwuafihrkplymcjaxefozvdzns
qwugwihrkplymcjaxwfotvdzws
qwugbihrkzlymcjaxjfotvdznz
uwugsihrkplypcjaxefotvdzns
qwugbihrkplymcjaxefotudzur
qwugbihrkplymcjoxefotfdzng
qwugbihxkplymcjamebotvdzns
qpugvihrkplymcjaxefotvdzhs
qwugbihrkplyocgaxefotvdzss
qwugbihrkplymcpaqekotvdzns
qwunbihrkplymclaxefitvdzns
qzugbihrkplsmcjaxebotvdzns
qvugbihrkplymcjsxefotvmzns
qwugbihrkprymcyaxkfotvdzns
qwugbihukplymcjaxefotzlzns
qwusbihrkplymcjaxwfotxdzns
qwugbihrwplymcjaxefbtcdzns
qwugbihrkplymcjpxefotkdons
qwugbihrkhlymcjaxefohvwzns
qwukbihrkplymxjaxefotvdzms
qwugbiprkplsmcjaxefotvdznm
qwugbqhrkplymcjawwfotvdzns
qwugbihrkprymcjaxefotvdxnb
qwugbihrkplymcjaxefoivpzos
qwugbuhrkplymcjaxefotvdzsb
qwugblhrcplymcjaxefotvdyns
qtuabihrkplymejaxefotvdzns
qwucbihrkplyvcjaxefotvdznu
rwugbyhrkplymcjaxefotvdzrs
qruybihrkpsymcjaxefotvdzns
qwugbihrjpwymcjaxejotvdzns
qwugbihshplymcjaxefoavdzns
vwugbihrkplymwjaxefotvdznc
qwugbihrkpmymcjvxcfotvdzns
qkxgbihrkplymcjnxefotvdzns

28
2018/02/sol1.pl Normal file
View File

@ -0,0 +1,28 @@
use 5.20.0;
use warnings;
use experimental qw/
signatures
postderef
/;
use List::UtilsBy qw/ partition_by /;
use List::AllUtils qw/ pairmap sum product /;
my @items =
map {
+{
pairmap { scalar @$b => $a }
partition_by { $_ }
@$_
}
}
map { [ split '' ] }
<>;
say product
map { scalar @$_ }
map {
my $x = $_;
[ grep { $_->{$x} } @items ]
} 2, 3