diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-12-07 04:47:42 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-12-07 04:47:42 +0000 |
| commit | e69eb5e1e357c46cb7f256345dc37a670d83c4e1 (patch) | |
| tree | 3bbe636ffbbb719e0e69f212e73ad601609457b0 | |
| parent | d1e02afff86a6891c02d5f1c78802c06ae9d2021 (diff) | |
| download | perlweeklychallenge-club-e69eb5e1e357c46cb7f256345dc37a670d83c4e1.tar.gz perlweeklychallenge-club-e69eb5e1e357c46cb7f256345dc37a670d83c4e1.tar.bz2 perlweeklychallenge-club-e69eb5e1e357c46cb7f256345dc37a670d83c4e1.zip | |
- Added solutions by Flavio Poletti.
| -rw-r--r-- | challenge-089/polettix/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-089/polettix/blog1.txt | 1 | ||||
| -rw-r--r-- | challenge-089/polettix/perl/ch-1.pl | 17 | ||||
| -rw-r--r-- | challenge-089/polettix/perl/ch-2.pl | 124 | ||||
| -rw-r--r-- | stats/pwc-current.json | 287 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 62 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 658 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 400 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 98 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 54 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 30 |
16 files changed, 1207 insertions, 1045 deletions
diff --git a/challenge-089/polettix/blog.txt b/challenge-089/polettix/blog.txt new file mode 100644 index 0000000000..db5415038e --- /dev/null +++ b/challenge-089/polettix/blog.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2020/12/01/pwc089-gcd-sum/ diff --git a/challenge-089/polettix/blog1.txt b/challenge-089/polettix/blog1.txt new file mode 100644 index 0000000000..2bcf247b1d --- /dev/null +++ b/challenge-089/polettix/blog1.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2020/12/02/pwc089-magical-matrix/ diff --git a/challenge-089/polettix/perl/ch-1.pl b/challenge-089/polettix/perl/ch-1.pl new file mode 100644 index 0000000000..b5da2c4017 --- /dev/null +++ b/challenge-089/polettix/perl/ch-1.pl @@ -0,0 +1,17 @@ +#!/usr/bin/env perl +use 5.024; +use warnings; +use experimental qw< postderef signatures >; +no warnings qw< experimental::postderef experimental::signatures >; + +sub gcd { my ($A, $B) = @_; ($A, $B) = ($B % $A, $A) while $A; return $B } + +sub GCD_sum ($N) { + my $sum = $N - 1; # gcd(1, $x) = 1 + for my $lo (2 .. $N - 1) { + $sum += gcd($lo, $_) for $lo + 1 .. $N; + } + return $sum; +} + +say GCD_sum(shift || 4); diff --git a/challenge-089/polettix/perl/ch-2.pl b/challenge-089/polettix/perl/ch-2.pl new file mode 100644 index 0000000000..b963f46932 --- /dev/null +++ b/challenge-089/polettix/perl/ch-2.pl @@ -0,0 +1,124 @@ +#!/usr/bin/env perl +use 5.024; +use warnings; +use experimental qw< postderef signatures >; +no warnings qw< experimental::postderef experimental::signatures >; +use Storable 'dclone'; + +my $M = magical_matrix(shift || 3); +say {*STDOUT} '[ ', (map { sprintf '%3d', $_ } $_->@*), ' ]' for $M->@*; + +sub magical_matrix ($N) { + my $N2 = $N * $N; + my $solution = solve_by_constraints( + start => { + not_allocated => { map {$_ => 1} 1 .. $N2 }, + field => [ (0) x $N2 ], + fine => {}, + }, + is_done => sub ($state) { keys($state->{not_allocated}->%*) == 0 }, + constraints => [ + (map {_constraint($N, $_ * $N, 1)} 0 .. ($N - 1)), # rows + (map {_constraint($N, $_, $N)} 0 .. ($N - 1)), # cols + _constraint($N, 0, $N + 1), # main diag + _constraint($N, $N - 1, $N - 1), # other diag + ], + search_factory => \&_search_factory, + ) or die "cannot find a solution for N = $N\n"; + my $field = $solution->{field}; + return [map {[splice $field->@*, 0, $N]} 1 .. $N]; +} + +sub _search_factory ($state) { + my %not_allocated = $state->{not_allocated}->%*; + my @candidates = keys %not_allocated; + my $current = undef; + + my @field = $state->{field}->@*; + my $pos = undef; + for my $i (0 .. $#field) { + next if $field[$i]; + $pos = $i; + last; + } + die 'no unassigned position (WTF?!?)' unless defined $pos; + + my %fine = $state->{fine}->%*; + + return sub ($state) { + return 0 unless @candidates; + + $not_allocated{$current} = 1 if defined $current; + $current = shift @candidates; + delete $not_allocated{$current}; + + $field[$pos] = $current; + $state->{field} = [@field]; + $state->{not_allocated} = { %not_allocated }; + $state->{fine} = { %fine }; + + return 1; + }; +} + +sub _constraint ($N, $start, $delta) { + my $N2 = $N * $N; + my $target_sum = ($N2 + 1) * $N / 2; + return sub ($state) { + return 0 if $state->{fine}{"$start-$delta"}; + my ($field, $not_allocated) = $state->@{qw< field not_allocated >}; + my $available = $target_sum; + my @missing_indexes; + my $j = 0; + while ($j < $N) { + my $i = $start + $delta * $j++; + if (my $v = $field->[$i]) { $available -= $v } + else { push @missing_indexes, $i } + } + die "wrong sum, too much" if $available < 0; + my $n_missing = scalar @missing_indexes; + + if ($n_missing == 0) { # every value is fixed here, check the sum + die 'wrong sum' if $available; + $state->{fine}{"$start-$delta"} = 1; + return 0; # check OK, no change + } + + if ($n_missing == 1) { # fix the one that's left + die "invalid residual value" + unless exists $not_allocated->{$available}; + delete $not_allocated->{$available}; + $field->[$missing_indexes[0]] = $available; + return 1; # yes, we did one change + } + + return 0; # no change happened + } +} + +sub solve_by_constraints { + my %args = (@_ && ref($_[0])) ? %{$_[0]} : @_; + my @reqs = qw< constraints is_done search_factory start >; + exists($args{$_}) || die "missing parameter '$_'" for @reqs; + my ($constraints, $done, $factory, $state, @stack) = @args{@reqs}; + my $logger = $args{logger} // undef; + while ('necessary') { + last if eval { # eval - constraints might complain loudly... + $logger->(validating => $state) if $logger; + my $changed = -1; + while ($changed != 0) { + $changed = 0; + $changed += $_->($state) for @$constraints; + $logger->(pruned => $state) if $logger; + } ## end while ($changed != 0) + $done->($state) || (push(@stack, $factory->($state)) && undef); + }; + $logger->(backtrack => $state, $@) if $logger; + while (@stack) { + last if $stack[-1]->($state); + pop @stack; + } + return unless @stack; + } ## end while ('necessary') + return $state; +} ## end sub solve_by_constraints diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 7c442be1d0..e395ed37ed 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,17 +1,25 @@ { "subtitle" : { - "text" : "[Champions: 36] Last updated at 2020-12-07 03:58:58 GMT" + "text" : "[Champions: 37] Last updated at 2020-12-07 04:47:30 GMT" }, - "title" : { - "text" : "Perl Weekly Challenge - 089" + "tooltip" : { + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "followPointer" : 1, + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + }, + "xAxis" : { + "type" : "category" }, "legend" : { "enabled" : 0 }, + "title" : { + "text" : "Perl Weekly Challenge - 089" + }, "series" : [ { - "colorByPoint" : 1, "name" : "Perl Weekly Challenge - 089", + "colorByPoint" : 1, "data" : [ { "drilldown" : "Aaron Smith", @@ -25,18 +33,18 @@ }, { "y" : 4, - "name" : "Adam Russell", - "drilldown" : "Adam Russell" + "drilldown" : "Adam Russell", + "name" : "Adam Russell" }, { + "y" : 2, "name" : "Alexander Karelas", - "drilldown" : "Alexander Karelas", - "y" : 2 + "drilldown" : "Alexander Karelas" }, { + "y" : 2, "drilldown" : "Alexander Pankoff", - "name" : "Alexander Pankoff", - "y" : 2 + "name" : "Alexander Pankoff" }, { "drilldown" : "Andrew Shitov", @@ -44,29 +52,29 @@ "y" : 2 }, { - "y" : 5, "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" + "name" : "Arne Sommer", + "y" : 5 }, { + "y" : 4, "name" : "Athanasius", - "drilldown" : "Athanasius", - "y" : 4 + "drilldown" : "Athanasius" }, { - "drilldown" : "Cheok-Yin Fung", "name" : "Cheok-Yin Fung", + "drilldown" : "Cheok-Yin Fung", "y" : 3 }, { - "y" : 2, + "name" : "Clifton Wood", "drilldown" : "Clifton Wood", - "name" : "Clifton Wood" + "y" : 2 }, { - "y" : 3, "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" + "name" : "Dave Jacoby", + "y" : 3 }, { "y" : 2, @@ -74,14 +82,19 @@ "name" : "Duncan C. White" }, { - "drilldown" : "E. Choroba", "name" : "E. Choroba", + "drilldown" : "E. Choroba", "y" : 2 }, { "y" : 2, - "drilldown" : "Feng Chang", - "name" : "Feng Chang" + "name" : "Feng Chang", + "drilldown" : "Feng Chang" + }, + { + "drilldown" : "Flavio Poletti", + "name" : "Flavio Poletti", + "y" : 4 }, { "drilldown" : "Jaldhar H. Vyas", @@ -89,34 +102,34 @@ "y" : 5 }, { - "y" : 2, "name" : "James Smith", - "drilldown" : "James Smith" + "drilldown" : "James Smith", + "y" : 2 }, { - "drilldown" : "Jan Krnavek", + "y" : 2, "name" : "Jan Krnavek", - "y" : 2 + "drilldown" : "Jan Krnavek" }, { - "y" : 2, + "name" : "Joel Crosswhite", "drilldown" : "Joel Crosswhite", - "name" : "Joel Crosswhite" + "y" : 2 }, { "y" : 2, - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey" + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey" }, { - "drilldown" : "Julio de Castro", + "y" : 4, "name" : "Julio de Castro", - "y" : 4 + "drilldown" : "Julio de Castro" }, { + "y" : 4, "name" : "Kang-min Liu", - "drilldown" : "Kang-min Liu", - "y" : 4 + "drilldown" : "Kang-min Liu" }, { "name" : "Laurent Rosenfeld", @@ -124,34 +137,34 @@ "y" : 5 }, { - "drilldown" : "Lubos Kolouch", "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch", "y" : 2 }, { - "y" : 2, "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" + "drilldown" : "Mark Anderson", + "y" : 2 }, { - "y" : 2, "drilldown" : "Miguel Prz", - "name" : "Miguel Prz" + "name" : "Miguel Prz", + "y" : 2 }, { - "drilldown" : "Niels van Dijke", + "y" : 2, "name" : "Niels van Dijke", - "y" : 2 + "drilldown" : "Niels van Dijke" }, { - "y" : 2, "name" : "Nuno Vieira", - "drilldown" : "Nuno Vieira" + "drilldown" : "Nuno Vieira", + "y" : 2 }, { "y" : 2, - "name" : "Philip Hood", - "drilldown" : "Philip Hood" + "drilldown" : "Philip Hood", + "name" : "Philip Hood" }, { "drilldown" : "Roger Bell_West", @@ -169,14 +182,14 @@ "y" : 2 }, { - "y" : 2, + "name" : "Stuart Little", "drilldown" : "Stuart Little", - "name" : "Stuart Little" + "y" : 2 }, { - "y" : 4, + "drilldown" : "Ulrich Rieke", "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" + "y" : 4 }, { "name" : "W. Luis Mochan", @@ -184,47 +197,39 @@ "y" : 3 }, { + "y" : 3, "name" : "Walt Mankowski", - "drilldown" : "Walt Mankowski", - "y" : 3 + "drilldown" : "Walt Mankowski" }, { "y" : 2, - "drilldown" : "Wanderdoc", - "name" : "Wanderdoc" + "name" : "Wanderdoc", + "drilldown" : "Wanderdoc" } ] } ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "tooltip" : { - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : 1, - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" - }, - "xAxis" : { - "type" : "category" - }, "chart" : { "type" : "column" }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { "format" : "{point.y}", "enabled" : 1 - }, - "borderWidth" : 0 + } + } + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, "drilldown" : { "series" : [ { - "id" : "Aaron Smith", + "name" : "Aaron Smith", "data" : [ [ "Raku", @@ -235,9 +240,10 @@ 1 ] ], - "name" : "Aaron Smith" + "id" : "Aaron Smith" }, { + "id" : "Abigail", "data" : [ [ "Perl", @@ -248,11 +254,9 @@ 2 ] ], - "name" : "Abigail", - "id" : "Abigail" + "name" : "Abigail" }, { - "name" : "Adam Russell", "data" : [ [ "Perl", @@ -263,29 +267,32 @@ 2 ] ], - "id" : "Adam Russell" + "id" : "Adam Russell", + "name" : "Adam Russell" }, { - "name" : "Alexander Karelas", "data" : [ [ "Perl", 2 ] ], - "id" : "Alexander Karelas" + "id" : "Alexander Karelas", + "name" : "Alexander Karelas" }, { - "id" : "Alexander Pankoff", - "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Alexander Pankoff", + "name" : "Alexander Pankoff" }, { + "name" : "Andrew Shitov", + "id" : "Andrew Shitov", "data" : [ [ "Perl", @@ -295,12 +302,9 @@ "Raku", 1 ] - ], - "name" : "Andrew Shitov", - "id" : "Andrew Shitov" + ] }, { - "id" : "Arne Sommer", "name" : "Arne Sommer", "data" : [ [ @@ -315,9 +319,11 @@ "Blog", 1 ] - ] + ], + "id" : "Arne Sommer" }, { + "name" : "Athanasius", "id" : "Athanasius", "data" : [ [ @@ -328,11 +334,11 @@ "Raku", 2 ] - ], - "name" : "Athanasius" + ] }, { "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -342,12 +348,11 @@ "Blog", 1 ] - ], - "id" : "Cheok-Yin Fung" + ] }, { - "id" : "Clifton Wood", "name" : "Clifton Wood", + "id" : "Clifton Wood", "data" : [ [ "Raku", @@ -356,8 +361,8 @@ ] }, { - "id" : "Dave Jacoby", "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -380,26 +385,41 @@ "name" : "Duncan C. White" }, { + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "name" : "E. Choroba", "id" : "E. Choroba" }, { + "name" : "Feng Chang", "id" : "Feng Chang", "data" : [ [ "Raku", 2 ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] ], - "name" : "Feng Chang" + "id" : "Flavio Poletti", + "name" : "Flavio Poletti" }, { + "id" : "Jaldhar H. Vyas", "data" : [ [ "Perl", @@ -414,8 +434,7 @@ 1 ] ], - "name" : "Jaldhar H. Vyas", - "id" : "Jaldhar H. Vyas" + "name" : "Jaldhar H. Vyas" }, { "data" : [ @@ -424,8 +443,8 @@ 2 ] ], - "name" : "James Smith", - "id" : "James Smith" + "id" : "James Smith", + "name" : "James Smith" }, { "name" : "Jan Krnavek", @@ -438,14 +457,14 @@ "id" : "Jan Krnavek" }, { - "id" : "Joel Crosswhite", - "name" : "Joel Crosswhite", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Joel Crosswhite", + "name" : "Joel Crosswhite" }, { "data" : [ @@ -454,11 +473,10 @@ 2 ] ], - "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey" + "id" : "Jorg Sommrey", + "name" : "Jorg Sommrey" }, { - "id" : "Julio de Castro", "name" : "Julio de Castro", "data" : [ [ @@ -469,10 +487,11 @@ "Raku", 2 ] - ] + ], + "id" : "Julio de Castro" }, { - "name" : "Kang-min Liu", + "id" : "Kang-min Liu", "data" : [ [ "Raku", @@ -483,9 +502,11 @@ 2 ] ], - "id" : "Kang-min Liu" + "name" : "Kang-min Liu" }, { + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -499,33 +520,31 @@ "Blog", 1 ] - ], - "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld" + ] }, { + "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] ], - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch" + "name" : "Lubos Kolouch" }, { - "id" : "Mark Anderson", "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson" }, { - "id" : "Miguel Prz", "name" : "Miguel Prz", + "id" : "Miguel Prz", "data" : [ [ "Perl", @@ -534,24 +553,24 @@ ] }, { - "id" : "Niels van Dijke", + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke" + "id" : "Niels van Dijke" }, { "name" : "Nuno Vieira", + "id" : "Nuno Vieira", "data" : [ [ "Perl", 2 ] - ], - "id" : "Nuno Vieira" + ] }, { "data" : [ @@ -560,10 +579,11 @@ 2 ] ], - "name" : "Philip Hood", - "id" : "Philip Hood" + "id" : "Philip Hood", + "name" : "Philip Hood" }, { + "name" : "Roger Bell_West", "id" : "Roger Bell_West", "data" : [ [ @@ -578,10 +598,11 @@ "Blog", 1 ] - ], - "name" : "Roger Bell_West" + ] }, { + "name" : "Simon Green", + "id" : "Simon Green", "data" : [ [ "Perl", @@ -591,32 +612,30 @@ "Blog", 1 ] - ], - "name" : "Simon Green", - "id" : "Simon Green" + ] }, { + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "name" : "Simon Proctor", "id" : "Simon Proctor" }, { - "name" : "Stuart Little", + "id" : "Stuart Little", "data" : [ [ "Raku", 2 ] ], - "id" : "Stuart Little" + "name" : "Stuart Little" }, { - "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -627,10 +646,10 @@ 2 ] ], - "id" : "Ulrich Rieke" + "name" : "Ulrich Rieke" }, { - "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -641,10 +660,10 @@ 1 ] ], - "name" : "W. Luis Mochan" + "id" : "W. Luis Mochan" }, { - "name" : "Walt Mankowski", + "id" : "Walt Mankowski", "data" : [ [ "Perl", @@ -655,16 +674,16 @@ 1 ] ], - "id" : "Walt Mankowski" + "name" : "Walt Mankowski" }, { + "name" : "Wanderdoc", "data" : [ [ "Perl", 2 ] ], - "name" : "Wanderdoc", "id" : "Wanderdoc" } ] diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 12f379133c..740b5bea7b 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 + "chart" : { + "type" : "column" }, "series" : [ { - "dataLabels" : { - "enabled" : "true", - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "rotation" : -90, - "y" : 10, - "align" : "right", - "format" : "{point.y:.0f}", - "color" : "#FFFFFF" - }, + "name" : "Contributions", "data" : [ [ "Blog", - 1160 + 1162 ], [ "Perl", - 4015 + 4017 ], [ "Raku", - 2642 + 2644 ] ], - "name" : "Contributions" + "dataLabels" : { + "align" : "right", + "format" : "{point.y:.0f}", + "y" : 10, + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "color" : "#FFFFFF", + "rotation" : -90, + "enabled" : "true" + } } ], - "legend" : { - "enabled" : "false" + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" }, "subtitle" : { - "text" : "Last updated at 2020-12-07 03:58:58 GMT" + "text" : "Last updated at 2020-12-07 04:47:30 GMT" }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, "xAxis" : { + "type" : "category", "labels" : { "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" } - }, - "type" : "category" + } }, - "chart" : { - "type" : "column" + "legend" : { + "enabled" : "false" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 9fdbb49dfe..553080d2e0 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,27 +1,25 @@ { - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "chart" : { - "type" : "column" + "legend" : { + "enabled" : "false" }, "xAxis" : { "type" : "category" }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-12-07 04:47:30 GMT" + }, "tooltip" : { + "headerFormat" : "<span style=\"font-size:11px\"></span>", "followPointer" : "true", - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style=\"font-size:11px\"></span>" + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" }, "drilldown" : { "series" : [ |
