AoC 2023, day 12

Run Settings
LanguageRaku
Language Version
Run Command
my %mem;
sub solve(@puzzle is copy, @groups is copy) {
my $key = @puzzle.join ~ @groups.join(',');
return %mem{$key} if %mem{$key}.defined;
return 0 if +@puzzle == 0 and +@groups > 0;
if +@groups == 0 {
return @puzzle.grep('#') ?? 0 !! 1;
} else {
return 0 if @puzzle.all eq '.';
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Editor Settings
Theme
Key bindings
Full width
Lines