aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-09-06 23:23:20 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-09-06 23:23:20 +0100
commit9243d575d94496da3a0f25d0f01d4d5ebaeb5eda (patch)
treeb18f8962a988efdd7fe78d4dfbb19098424e3afe
parent1b015112157d375d1646e1b5d7f0ae003485ae4d (diff)
downloadperlweeklychallenge-club-9243d575d94496da3a0f25d0f01d4d5ebaeb5eda.tar.gz
perlweeklychallenge-club-9243d575d94496da3a0f25d0f01d4d5ebaeb5eda.tar.bz2
perlweeklychallenge-club-9243d575d94496da3a0f25d0f01d4d5ebaeb5eda.zip
- Added solutions by Colin Crain.
-rw-r--r--challenge-076/colin-crain/perl/ch-1.pl105
-rw-r--r--challenge-076/colin-crain/perl/ch-2.pl175
-rw-r--r--challenge-076/colin-crain/raku/ch-1.raku70
-rw-r--r--challenge-076/colin-crain/raku/ch-2.raku111
-rw-r--r--stats/pwc-current.json262
-rw-r--r--stats/pwc-language-breakdown-summary.json72
-rw-r--r--stats/pwc-language-breakdown.json1130
-rw-r--r--stats/pwc-leaders.json742
-rw-r--r--stats/pwc-summary-1-30.json48
-rw-r--r--stats/pwc-summary-121-150.json32
-rw-r--r--stats/pwc-summary-151-180.json42
-rw-r--r--stats/pwc-summary-181-210.json44
-rw-r--r--stats/pwc-summary-31-60.json116
-rw-r--r--stats/pwc-summary-61-90.json34
-rw-r--r--stats/pwc-summary-91-120.json92
-rw-r--r--stats/pwc-summary.json418
16 files changed, 1981 insertions, 1512 deletions
diff --git a/challenge-076/colin-crain/perl/ch-1.pl b/challenge-076/colin-crain/perl/ch-1.pl
new file mode 100644
index 0000000000..9412a45713
--- /dev/null
+++ b/challenge-076/colin-crain/perl/ch-1.pl
@@ -0,0 +1,105 @@
+#! /opt/local/bin/perl
+#
+# goldbach_variations.pl
+#
+# TASK #1 › Prime Sum
+# Submitted by: Mohammad S Anwar
+# Reviewed by: Ryan Thompson
+# You are given a number $N. Write a script to find the minimum number
+# of prime numbers required, whose summation gives you $N.
+#
+# For the sake of this task, please assume 1 is not a prime number.
+#
+# Example:
+# Input:
+# $N = 9
+#
+# Ouput:
+# 2 as sum of 2 prime numbers i.e. 2 and 7 is same as the input number.
+# 2 + 7 = 9.
+#
+#
+# method:
+# we'll need all the prime numbers up to the input, because we'll start
+# at the top. Look at highest lower prime, subtract and se if remainder
+# is prime, which is easy as we'll have the values. Continue until 1/2
+# way. Then assume smaller numbers will have fewer prime sums, so
+# largest prime and try and make 2-sums with smaller part. What's the
+# largest value, mathematically?
+#
+#
+#
+#
+#
+#
+# 2020 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use feature ":5.26";
+use DDP;
+
+## ## ## ## ## MAIN:
+
+my $num = shift @ARGV // 57;
+my ($primes, $lookup, $result);
+
+$primes = make_prime_list($num);
+$lookup = { map { $_ => 1 } $primes->@* };
+
+## descend through the cases, in increasing complexity
+if ($num == $primes->[-1]) {
+ $result = [$num];
+}
+elsif ($num % 2 == 0 ) {
+ $result = get_prime_pair($num, $primes, $lookup);
+}
+elsif (exists $lookup->{ $num-2 }) {
+ $result = [$num-2, 2];
+}
+else {
+ my $diff = $num - @{$primes}[-1];
+ $result = [ $primes->[-1], get_prime_pair($diff)->@* ];
+}
+
+say "$num = ( ", (join ' + ', @$result), " )";
+
+
+## ## ## ## ## SUBS:
+
+sub make_prime_list {
+## creates a list of all primes less than or equal to a given number
+ my $max = shift;
+ my @output = (2);
+ CANDIDATE: for( my $candidate = 3; $candidate <= $max; $candidate += 2 ) {
+ my $sqrt_candidate = sqrt( $candidate );
+ for( my $test = 3; $test <= $sqrt_candidate; $test += 2 ) {
+ next CANDIDATE if $candidate % $test == 0;
+ }
+ push @output, $candidate;
+ }
+ return \@output;
+}
+
+sub get_prime_pair {
+## given an even number returns two primes that sum to it
+## if $primes and $lookup are absent, makes new ones for $num
+ my ( $num, $primes, $lookup ) = @_;
+ if (not defined $primes) {
+ $primes = make_prime_list($num);
+ $lookup = { map { $_ => 1 } $primes->@* };
+ };
+
+ my $i = @$primes;
+ while (--$i >= 0) {
+ my $diff = $num - $primes->[$i];
+ if ( exists $lookup->{ $diff } ) {
+ return [$primes->[$i], $diff];
+ last;
+ }
+ }
+ return undef;
+} \ No newline at end of file
diff --git a/challenge-076/colin-crain/perl/ch-2.pl b/challenge-076/colin-crain/perl/ch-2.pl
new file mode 100644
index 0000000000..f631c94019
--- /dev/null
+++ b/challenge-076/colin-crain/perl/ch-2.pl
@@ -0,0 +1,175 @@
+#! /opt/local/bin/perl
+#
+# where_is_wigged.pl
+#
+# "departed succor blunts malignant social viruses"
+#
+# it's an unexpectedly dark list of hidden words
+#
+# TASK #2 › Word Search
+# Submitted by: Neil Bowers
+# Reviewed by: Ryan Thompson
+# Write a script that takes two file names. The first file would
+# contain word search grid as shown below. The second file contains
+# list of words, one word per line. You could even use local
+# dictionary file.
+#
+# Print out a list of all words seen on the grid, looking both
+# orthogonally and diagonally, backwards as well as forwards.
+#
+# Search Grid
+# B I D E M I A T S U C C O R S T
+# L D E G G I W Q H O D E E H D P
+# U S E I R U B U T E A S L A G U
+# N G N I Z I L A I C O S C N U D
+# T G M I D S T S A R A R E I F G
+# S R E N M D C H A S I V E E L I
+# S C S H A E U E B R O A D M T E
+# H W O V L P E D D L A I U L S S
+# R Y O N L A S F C S T A O G O T
+# I G U S S R R U G O V A R Y O C
+# N R G P A T N A N G I L A M O O
+# E I H A C E I V I R U S E S E D
+# S E T S U D T T G A R L I C N H
+# H V R M X L W I U M S N S O T B
+# A E A O F I L C H T O D C A E U
+# Z S C D F E C A A I I R L N R F
+# A R I I A N Y U T O O O U T P F
+# R S E C I S N A B O S C N E R A
+# D R S M P C U U N E L T E S I L
+# Output
+# Found 55 words of length 5 or more when checked against the local
+# dictionary. You may or may not get the same result but that is fine.
+#
+#
+#
+#
+# 2020 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use feature ":5.26";
+
+## ## ## ## ## MAIN:
+
+my $file = shift @ARGV // 'wordsearch.txt';
+my $dict = shift @ARGV // '/usr/share/dict/words';
+my $MINWORD = shift @ARGV // 5;
+
+my $matrix = load_search_matrix($file);
+print_matrix($matrix);
+
+my $words = build_word_hash($dict);
+
+my @possibles;
+
+my $height = @$matrix - 1;
+my $width = $matrix->[0]->@* - 1 ;
+
+for my $y (0..$height) {
+ for my $x (0..$width) {
+ push @possibles, word_vectors( $x, $y, $matrix)->@*;
+ }
+}
+
+my @output = grep { exists $words->{$_} } @possibles;
+say '';
+say "found ", scalar @output, " words of minimum length $MINWORD: \n";
+say for sort @output;
+
+## ## ## ## ## SUBS:
+
+sub word_vectors {
+ my ($x, $y, $matrix) = @_;
+ my $height = @$matrix - 1;
+ my $width = $matrix->[0]->@* - 1 ;
+ my @words;
+ my @vec ;
+ my $i;
+
+ ## horz forward
+ push $vec[0]->@*, $matrix->[$y][$_] for ($x..$width);
+
+ ## horz back
+ push $vec[1]->@*, $matrix->[$y][$_] for reverse (0..$x);
+
+ ## vert down
+ push $vec[2]->@*, $matrix->[$_][$x] for ($y..$height);
+
+ ## vert up
+ push $vec[3]->@*, $matrix->[$_][$x] for reverse (0..$y);
+
+ ## diag down forward
+ $i = $x;
+ for ($y..$height) { ## y to height index
+ last if $i > $width;
+ push $vec[4]->@*, $matrix->[$_][$i++];
+ }
+
+ ## diag down back
+ $i = $x;
+ for ($y..$height) { ## y to height index
+ last if $i < 0;
+ push $vec[5]->@*, $matrix->[$_][$i--];
+ }
+
+ ## diag up forward
+ $i = $x;
+ for (reverse (0..$y)) { ## 0 to y
+ last if $i > $width;
+ push $vec[6]->@*, $matrix->[$_][$i++];
+ }
+
+ ## diag up back
+ $i = $x;
+ for (reverse (0..$y)) { ## 0 to y
+ last if $i < 0;
+ push $vec[7]->@*, $matrix->[$_][$i--];
+ }
+
+ ## turn vectors into strings $MINWORD letters or longer
+ for my $v (@vec) {
+ next if @$v < $MINWORD;
+ my $stem = join '', @$v[0..$MINWORD-2];
+ push @words, map { $stem .= $_ } @$v[$MINWORD-1..@$v-1];
+ }
+
+ return \@words;
+}
+
+sub load_search_matrix {
+ my $file = shift;
+ open my $fh, '<', $file
+ or die "cannot open file $file: $!\n";
+ my @search;
+
+ while (my $line = <$fh>) {
+ push @search, [split /\s/, $line];
+ }
+ close $fh;
+ return \@search;
+}
+
+sub print_matrix {
+ my $matrix = shift;
+ for (@$matrix) {
+ say join ' ', @$_;
+ }
+}
+
+sub build_word_hash {
+ my $dict = shift;
+ my %hash;
+ open my $fh, "<", $dict
+ or die "can't open $dict to read: $!";
+
+ while (my $word = <$fh>) {
+ $word =~ s/[\n\r]//g;
+ $word = uc($word);
+ $hash{$word} = 1;
+ }
+ return \%hash;
+}
diff --git a/challenge-076/colin-crain/raku/ch-1.raku b/challenge-076/colin-crain/raku/ch-1.raku
new file mode 100644
index 0000000000..5a2c14bb51
--- /dev/null
+++ b/challenge-076/colin-crain/raku/ch-1.raku
@@ -0,0 +1,70 @@
+#!/usr/bin/env perl6
+#
+#
+# goldbach_variations.raku
+#
+# TASK #1 › Prime Sum
+# Submitted by: Mohammad S Anwar
+# Reviewed by: Ryan Thompson
+# You are given a number $N. Write a script to find the minimum number
+# of prime numbers required, whose summation gives you $N.
+#
+# For the sake of this task, please assume 1 is not a prime number.
+#
+# Example:
+# Input:
+# $N = 9
+#
+# Ouput:
+# 2 as sum of 2 prime numbers i.e. 2 and 7 is same as the input number.
+# 2 + 7 = 9.
+#
+#
+#
+# 2020 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+unit sub MAIN (Int $num where $num > 1 = 51) ;
+
+## generate prime list and set
+## NOTE: using a Set here is an excuse to use the Type and its operators more
+## than anything else. Checking individual elements for primeness using
+## .is-prime is a much better way of going about it.
+my @primes = (2..$num).grep: { .is-prime };
+my $p = @primes.Set;
+
+## descend through the cases, in increasing complexity
+my $result = do given $num {
+ when @primes.tail { $num.List }
+ when $_ %% 2 { get_prime_pair($num) }
+ when $_ - 2 ∈ $p { $num-2, 2 } ## when ($_-2).is-prime {...} is better but less cool
+ default { @primes.tail, |get_prime_pair($num - @primes.tail) }
+};
+
+## output
+my $quan = $result.elems;
+say "$quan\n\n$num can be summed from the $quan primes " ~ $result.join: ' + ';
+
+
+multi get_prime_pair ($num, @primes) {
+## calculates prime pairs that add to make number
+## give it a prime list to avoid regenerating it
+## NOTE: again checking for primeness directly is surely better but less fun, and
+## eliminates any need for a multi sub here as well. But multis are cool, too.
+ my $p = @primes.Set;
+ my $i = @primes.end;
+ while ($i > -1) {
+ return (@primes[$i], $num - @primes[$i]) if ($num - @primes[$i] ∈ $p);
+ $i--;
+ }
+}
+
+multi get_prime_pair ($num) {
+## without a prime list it will make a new one
+ my @p = (2..$num).grep: { .is-prime };
+ get_prime_pair($num, @p);
+}
+
+
diff --git a/challenge-076/colin-crain/raku/ch-2.raku b/challenge-076/colin-crain/raku/ch-2.raku
new file mode 100644
index 0000000000..323b7b00bd
--- /dev/null
+++ b/challenge-076/colin-crain/raku/ch-2.raku
@@ -0,0 +1,111 @@
+#!/usr/bin/env perl6
+#
+#
+# where_is_wigged.raku
+#
+# "departed succor blunts malignant social viruses"
+#
+# it's an unexpectedly dark list of hidden words
+#
+# TASK #2 › Word Search
+# Submitted by: Neil Bowers
+# Reviewed by: Ryan Thompson
+# Write a script that takes two file names. The first file would
+# contain word search grid as shown below. The second file contains
+# list of words, one word per line. You could even use local
+# dictionary file.
+#
+# Print out a list of all words seen on the grid, looking both
+# orthogonally and diagonally, backwards as well as forwards.
+#
+# Search Grid
+# B I D E M I A T S U C C O R S T
+# L D E G G I W Q H O D E E H D P
+# U S E I R U B U T E A S L A G U
+# N G N I Z I L A I C O S C N U D
+# T G M I D S T S A R A R E I F G
+# S R E N M D C H A S I V E E L I
+# S C S H A E U E B R O A D M T E
+# H W O V L P E D D L A I U L S S
+# R Y O N L A S F C S T A O G O T
+# I G U S S R R U G O V A R Y O C
+# N R G P A T N A N G I L A M O O
+# E I H A C E I V I R U S E S E D
+# S E T S U D T T G A R L I C N H
+# H V R M X L W I U M S N S O T B
+# A E A O F I L C H T O D C A E U
+# Z S C D F E C A A I I R L N R F
+# A R I I A N Y U T O O O U T P F
+# R S E C I S N A B O S C N E R A
+# D R S M P C U U N E L T E S I L
+# Output
+# Found 55 words of length 5 or more when checked against the local
+# dictionary. You may or may not get the same result but that is fine.
+
+#
+#
+# 2020 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+## NOTE: when it comes down to it, /dict/words really isn't a very good wordlist.
+## lacking common plurals and constructions. My own scrabble dictionary
+## has about 50,000 more words, and finds 68 5+ letter words vs. 40 for this.
+
+
+unit sub MAIN (Str $file = 'wordsearch.txt', Str $dict = '/usr/share/dict/words') ;
+
+
+## cfg
+my $MINWORD = 5; ## val > 1
+
+## in
+my @matrix = $file.IO.lines
+ .map( { .comb(/\w/).cache; } ); ## <-- need to cache the internal Seqs
+my %lookup = $dict.IO.lines
+ .map( { my $copy = $_; $copy.=uc; $copy => 1} );
+
+## work
+my @possibles;
+for 0..@matrix.end -> $y { ## height
+ for 0..@matrix.head.end -> $x { ## width
+ @possibles.append: |word_vectors( $x, $y, @matrix);
+ }
+}
+my @output = @possibles.grep:{ %lookup{$_}:exists }
+
+## out
+.put for @matrix;
+say '';
+say "found ", @output.elems, " words of minimum length $MINWORD: \n";
+.say for sort @output;
+
+# + + + + + + + + + + + + + + + + + + + + + +
+
+sub word_vectors ($x, $y, @mat) {
+ my $height = @mat.end;
+ my $width = @mat.head.end;
+ my @words;
+ my @vectors ;
+ my $i = $x;
+
+ ## formulae for the 8 vectors
+ @vectors.push( $_() ) for
+ { ($x..$width).map: { @mat[$y][$_]} }, ## horz forward
+ { (0..$x).reverse.map: { @mat[$y][$_]} }, ## horz back
+ { ($y..$height).map: { @mat[$_][$x]} }, ## vert down
+ { (0..$y).reverse.map: { @mat[$_][$x]} }, ## vert up
+ { ($y..$height).map: { last if $i > $width; @mat[$_][$i++] } }, ## diag down forward
+ { ($y..$height).map: { last if $i < 0; @mat[$_][$i--] } }, ## diag down back
+ { (0..$y).reverse.map: { last if $i > $width; @mat[$_][$i++] } }, ## diag up forward
+ { (0..$y).reverse.map: { last if $i < 0; @mat[$_][$i--] } } ; ## diag up back
+
+ ## turn vectors into strings $MINWORD letters or longer
+ for @vectors -> @v {
+ $i = $x; ## <-- lazy evaluation in map Seqs above need the reset to be here!
+ next if @v.elems < $MINWORD;
+ my $stem = ( @v[0..$MINWORD-2] ).join;
+ my @vec_words = ( @v[$MINWORD-1..@v.end] ).map: { $stem ~= $_ } ;
+ @words.push: |@vec_words;
+ }
+ return @words;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index e1f788a75f..49c894b663 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,29 +1,24 @@
{
- "title" : {
- "text" : "Perl Weekly Challenge - 076"
- },
- "subtitle" : {
- "text" : "[Champions: 28] Last updated at 2020-09-06 21:35:36 GMT"
- },
- "xAxis" : {
- "type" : "category"
- },
- "chart" : {
- "type" : "column"
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
"drilldown" : {
"series" : [
{
+ "id" : "Alexander Pankoff",
+ "name" : "Alexander Pankoff",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "Alexander Pankoff",
- "name" : "Alexander Pankoff"
+ ]
},
{
+ "name" : "Andinus",
+ "id" : "Andinus",
"data" : [
[
"Perl",
@@ -33,9 +28,7 @@
"Blog",
1
]
- ],
- "id" : "Andinus",
- "name" : "Andinus"
+ ]
},
{
"data" : [
@@ -52,8 +45,6 @@
"name" : "Arne Sommer"
},
{
- "name" : "Athanasius",
- "id" : "Athanasius",
"data" : [
[
"Perl",
@@ -63,7 +54,9 @@
"Raku",
2
]
- ]
+ ],
+ "id" : "Athanasius",
+ "name" : "Athanasius"
},
{
"data" : [
@@ -80,36 +73,46 @@
"name" : "Cheok-Yin Fung"
},
{
+ "name" : "Colin Crain",
+ "id" : "Colin Crain",
"data" : [
[
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ],
+ [
"Blog",
1
]
- ],
- "name" : "Colin Crain",
- "id" : "Colin Crain"
+ ]
},
{
+ "name" : "E. Choroba",
+ "id" : "E. Choroba",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "E. Choroba",
- "name" : "E. Choroba"
+ ]
},
{
- "name" : "Jan Krnavek",
- "id" : "Jan Krnavek",
"data" : [
[
"Raku",
1
]
- ]
+ ],
+ "id" : "Jan Krnavek",
+ "name" : "Jan Krnavek"
},
{
+ "name" : "Javier Luque",
+ "id" : "Javier Luque",
"data" : [
[
"Perl",
@@ -123,19 +126,17 @@
"Blog",
1
]
- ],
- "name" : "Javier Luque",
- "id" : "Javier Luque"
+ ]
},
{
- "id" : "Jorg Sommrey",
- "name" : "Jorg Sommrey",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Jorg Sommrey",
+ "id" : "Jorg Sommrey"
},
{
"data" : [
@@ -148,6 +149,8 @@
"name" : "Lubos Kolouch"
},
{
+ "id" : "Luca Ferrari",
+ "name" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -157,19 +160,17 @@
"Blog",
2
]
- ],
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari"
+ ]
},
{
- "name" : "Mark Anderson",
- "id" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Mark Anderson",
+ "name" : "Mark Anderson"
},
{
"data" : [
@@ -178,8 +179,8 @@
2
]
],
- "id" : "Markus Holzer",
- "name" : "Markus Holzer"
+ "name" : "Markus Holzer",
+ "id" : "Markus Holzer"
},
{
"id" : "Mohammad S Anwar",
@@ -228,14 +229,14 @@
"name" : "Neil Bowers"
},
{
+ "id" : "Niels van Dijke",
+ "name" : "Niels van Dijke",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "Niels van Dijke",
- "id" : "Niels van Dijke"
+ ]
},
{
"id" : "Nuno Vieira",
@@ -248,14 +249,14 @@
]
},
{
+ "id" : "Pete Houston",
+ "name" : "Pete Houston",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "Pete Houston",
- "name" : "Pete Houston"
+ ]
},
{
"id" : "Roger Bell_West",
@@ -276,6 +277,8 @@
]
},
{
+ "id" : "Shahed Nooshmand",
+ "name" : "Shahed Nooshmand",
"data" : [
[
"Raku",
@@ -285,13 +288,9 @@
"Blog",
1
]
- ],
- "name" : "Shahed Nooshmand",
- "id" : "Shahed Nooshmand"
+ ]
},
{
- "id" : "Simon Green",
- "name" : "Simon Green",
"data" : [
[
"Perl",
@@ -301,7 +300,9 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Simon Green",
+ "name" : "Simon Green"
},
{
"data" : [
@@ -310,18 +311,18 @@
2
]
],
- "id" : "Simon Proctor",
- "name" : "Simon Proctor"
+ "name" : "Simon Proctor",
+ "id" : "Simon Proctor"
},
{
+ "name" : "Ulrich Rieke",
+ "id" : "Ulrich Rieke",
"data" : [
[
"Perl",
1
]
- ],
- "id" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
+ ]
},
{
"data" : [
@@ -334,18 +335,18 @@
1
]
],
- "name" : "Walt Mankowski",
- "id" : "Walt Mankowski"
+ "id" : "Walt Mankowski",
+ "name" : "Walt Mankowski"
},
{
- "name" : "Wanderdoc",
- "id" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Wanderdoc",
+ "id" : "Wanderdoc"
},
{
"id" : "Yet Ebreo",
@@ -359,15 +360,35 @@
}
]
},
+ "title" : {
+ "text" : "Perl Weekly Challenge - 076"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 28] Last updated at 2020-09-06 22:22:54 GMT"
+ },
+ "tooltip" : {
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "followPointer" : 1
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
+ },
"series" : [
{
- "colorByPoint" : 1,
"name" : "Perl Weekly Challenge - 076",
+ "colorByPoint" : 1,
"data" : [
{
+ "y" : 2,
"name" : "Alexander Pankoff",
- "drilldown" : "Alexander Pankoff",
- "y" : 2
+ "drilldown" : "Alexander Pankoff"
},
{
"drilldown" : "Andinus",
@@ -376,33 +397,33 @@
},
{
"y" : 3,
- "drilldown" : "Arne Sommer",
- "name" : "Arne Sommer"
+ "name" : "Arne Sommer",
+ "drilldown" : "Arne Sommer"
},
{
"y" : 4,
- "drilldown" : "Athanasius",
- "name" : "Athanasius"
+ "name" : "Athanasius",
+ "drilldown" : "Athanasius"
},
{
- "y" : 3,
"drilldown" : "Cheok-Yin Fung",
+ "y" : 3,
"name" : "Cheok-Yin Fung"
},
{
"name" : "Colin Crain",
- "y" : 1,
+ "y" : 5,
"drilldown" : "Colin Crain"
},
{
- "name" : "E. Choroba",
+ "drilldown" : "E. Choroba",
"y" : 2,
- "drilldown" : "E. Choroba"
+ "name" : "E. Choroba"
},
{
+ "drilldown" : "Jan Krnavek",
"name" : "Jan Krnavek",
- "y" : 1,
- "drilldown" : "Jan Krnavek"
+ "y" : 1
},
{
"name" : "Javier Luque",
@@ -411,28 +432,28 @@
},
{
"drilldown" : "Jorg Sommrey",
- "y" : 2,
- "name" : "Jorg Sommrey"
+ "name" : "Jorg Sommrey",
+ "y" : 2
},
{
- "name" : "Lubos Kolouch",
"y" : 2,
+ "name" : "Lubos Kolouch",
"drilldown" : "Lubos Kolouch"
},
{
- "name" : "Luca Ferrari",
"drilldown" : "Luca Ferrari",
- "y" : 4
+ "y" : 4,
+ "name" : "Luca Ferrari"
},
{
+ "name" : "Mark Anderson",
"y" : 2,
- "drilldown" : "Mark Anderson",
- "name" : "Mark Anderson"
+ "drilldown" : "Mark Anderson"
},
{
+ "name" : "Markus Holzer",
"y" : 2,
- "drilldown" : "Markus Holzer",
- "name" : "Markus Holzer"
+ "drilldown" : "Markus Holzer"
},
{
"name" : "Mohammad S Anwar",
@@ -441,48 +462,48 @@
},
{
"y" : 4,
- "drilldown" : "Myoungjin Jeon",
- "name" : "Myoungjin Jeon"
+ "name" : "Myoungjin Jeon",
+ "drilldown" : "Myoungjin Jeon"
},
{
+ "y" : 2,
"name" : "Neil Bowers",
- "drilldown" : "Neil Bowers",
- "y" : 2
+ "drilldown" : "Neil Bowers"
},
{
+ "y" : 2,
"name" : "Niels van Dijke",
- "drilldown" : "Niels van Dijke",
- "y" : 2
+ "drilldown" : "Niels van Dijke"
},
{
- "y" : 2,
"drilldown" : "Nuno Vieira",
+ "y" : 2,
"name" : "Nuno Vieira"
},
{
+ "name" : "Pete Houston",
"y" : 2,
- "drilldown" : "Pete Houston",
- "name" : "Pete Houston"
+ "drilldown" : "Pete Houston"
},
{
- "name" : "Roger Bell_West",
"drilldown" : "Roger Bell_West",
- "y" : 5
+ "y" : 5,
+ "name" : "Roger Bell_West"
},
{
+ "drilldown" : "Shahed Nooshmand",
"name" : "Shahed Nooshmand",
- "y" : 3,
- "drilldown" : "Shahed Nooshmand"
+ "y" : 3
},
{
+ "y" : 3,
"name" : "Simon Green",
- "drilldown" : "Simon Green",
- "y" : 3
+ "drilldown" : "Simon Green"
},
{
+ "name" : "Simon Proctor",
"y" : 2,
- "drilldown" : "Simon Proctor",
- "name" : "Simon Proctor"
+ "drilldown" : "Simon Proctor"
},
{
"name" : "Ulrich Rieke",
@@ -491,42 +512,29 @@
},
{
"drilldown" : "Walt Mankowski",
- "y" : 3,
- "name" : "Walt Mankowski"
+ "name" : "Walt Mankowski",
+ "y" : 3
},
{
"drilldown" : "Wanderdoc",
- "y" : 2,
- "name" : "Wanderdoc"
+ "name" : "Wanderdoc",
+ "y" : 2
},
{
- "y" : 1,
"drilldown" : "Yet Ebreo",
+ "y" : 1,
"name" : "Yet Ebreo"
}
]
}