aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-077/cheok-yin-fung/BLOG.txt1
-rw-r--r--challenge-077/cheok-yin-fung/common-lisp/ch-1.lsp116
-rw-r--r--challenge-077/cheok-yin-fung/perl/ch-1.pl138
-rw-r--r--challenge-077/cheok-yin-fung/perl/ch-2.pl155
-rw-r--r--challenge-077/cheok-yin-fung/python/ch-1.py77
-rw-r--r--stats/pwc-current.json519
-rw-r--r--stats/pwc-language-breakdown-summary.json48
-rw-r--r--stats/pwc-language-breakdown.json1108
-rw-r--r--stats/pwc-leaders.json750
-rw-r--r--stats/pwc-summary-1-30.json120
-rw-r--r--stats/pwc-summary-121-150.json126
-rw-r--r--stats/pwc-summary-151-180.json114
-rw-r--r--stats/pwc-summary-181-210.json40
-rw-r--r--stats/pwc-summary-31-60.json112
-rw-r--r--stats/pwc-summary-61-90.json38
-rw-r--r--stats/pwc-summary-91-120.json122
-rw-r--r--stats/pwc-summary.json52
17 files changed, 2071 insertions, 1565 deletions
diff --git a/challenge-077/cheok-yin-fung/BLOG.txt b/challenge-077/cheok-yin-fung/BLOG.txt
new file mode 100644
index 0000000000..d10156262b
--- /dev/null
+++ b/challenge-077/cheok-yin-fung/BLOG.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/c_y_fung/2020/09/cy-077.html
diff --git a/challenge-077/cheok-yin-fung/common-lisp/ch-1.lsp b/challenge-077/cheok-yin-fung/common-lisp/ch-1.lsp
new file mode 100644
index 0000000000..01ce85f6e1
--- /dev/null
+++ b/challenge-077/cheok-yin-fung/common-lisp/ch-1.lsp
@@ -0,0 +1,116 @@
+; The Weekly Challenge - Perl & Raku #077
+; Task 1 Fibonacci Sum
+; Lisp script
+
+(defun vequalp (s1 s2)
+ (and (subsetp s1 s2) (subsetp s2 s1)))
+
+
+(defun anyeq (x y)
+ (cond ((null x) nil)
+ ((vequalp y (first x)) t)
+ (t (anyeq (rest x) y ))))
+
+
+(setf *N* 80)
+
+(setf *counter* 1)
+
+(setf *FIBSEQ* (list 1 1))
+
+
+(defun larger-fib-num ()
+ (setf tempseq (reverse *FIBSEQ*))
+ (cond ((>= (first tempseq) *N* ) nil)
+ (t (progn
+ (push (+ (first tempseq) (second tempseq) ) tempseq)
+ (setf *FIBSEQ* (reverse tempseq))
+ (larger-fib-num) ))))
+
+(larger-fib-num)
+
+(setf *copy-fibseq* (reverse *FIBSEQ*))
+
+(setf *firstsum* () )
+
+(defun greedy (target)
+ (cond
+ ((= target 0) nil)
+ ((>= target (first *copy-fibseq*)) (progn
+ (setf tempitem (first *copy-fibseq*))
+ (pop *copy-fibseq*)
+ (push (length *copy-fibseq*) *firstsum*)
+ (greedy (- target tempitem ) )))
+ ((< target (first *copy-fibseq*)) (progn
+ (pop *copy-fibseq*) (greedy target)))))
+
+(greedy *N*)
+
+(setf *answer* (list (reverse *firstsum*)) )
+
+(defun is-a-new-discovery (thelist)
+ (if (anyeq *answer* thelist)
+ ()
+ (progn
+ (nconc *answer* (list thelist))
+ (incf *counter*))))
+
+(defun a-loop (oldanswer)
+ (if (equal *counter* 0) () (progn
+ (setf a-list (car oldanswer))
+ (setf *counter* 0)
+ (expand-one-by-one a-list)
+ (lasttwo a-list)
+ (lastone a-list)
+ (setf oldanswer (rest oldanswer))
+ (a-loop oldanswer))))
+
+(defun expand (k uinput)
+ (setf TTBR (nth k uinput) )
+ (if
+ (or (equal (nth (+ 1 k) uinput ) (- TTBR 1) )
+ (equal (nth (+ 1 k) uinput ) (- TTBR 2) ))
+ ()
+ (progn
+ (setf newlist (remove TTBR uinput ) )
+ (setf newlist (cons (- TTBR 1) newlist ) )
+ (setf newlist (cons (- TTBR 2) newlist ) )
+ (sort newlist '>)
+ (is-a-new-discovery newlist))))
+
+(defun lastone (uinput)
+ (if (> (length uinput) 0) (progn
+ (setf TTBR (nth (- (length uinput) 1) uinput ))
+ (if (> TTBR 2)
+ (progn
+ (setf newlist (remove TTBR uinput ) )
+ (setf newlist (cons (- TTBR 1) newlist ) )
+ (setf newlist (cons (- TTBR 2) newlist ) )
+ (sort newlist '>)
+ (is-a-new-discovery newlist))))))
+
+(defun lasttwo (uinput)
+ (if (> (length uinput) 1) (progn
+ (setf TTBR (nth (- (length uinput) 2) uinput ))
+ (if
+ (and (> TTBR 2)
+ (> (- TTBR 2) (nth (- (length uinput) 1 ) uinput)))
+ (progn
+ (setf newlist (remove TTBR uinput ) )
+ (setf newlist (cons (- TTBR 1) newlist ) )
+ (setf newlist (cons (- TTBR 2) newlist ) )
+ (sort newlist '>)
+ (is-a-new-discovery newlist))))))
+
+(defun expand-one-by-one (urinput)
+ (dotimes (j (- (length urinput) 2))
+ (expand j urinput)))
+
+(a-loop *answer*)
+
+(format T "number of summation(s)~%" )
+(format T (write-to-string (length *answer*)))
+(format t "~%")
+(dolist (a-seq *answer*)
+ (print (mapcar #'(lambda (term) (nth term *fibseq*)) a-seq))
+ (format T "~%"))
diff --git a/challenge-077/cheok-yin-fung/perl/ch-1.pl b/challenge-077/cheok-yin-fung/perl/ch-1.pl
new file mode 100644
index 0000000000..be43fd8732
--- /dev/null
+++ b/challenge-077/cheok-yin-fung/perl/ch-1.pl
@@ -0,0 +1,138 @@
+#!/usr/bin/perl
+# The Weekly Challenge - Perl & Raku
+# #077 Task 1 Fibonacci Sum
+# task statement:
+# Write a script to find how many ways you make
+# sum $S from the Fibb numbers.
+# You are NOT allowed to repeat a number.
+# Print 0 if none found.
+#
+# Usage: ch-1.pl $N
+#
+# Additional Usage: ch-1.pl $N -r
+# for displaying terms from large to small
+#
+# verify code aided by this page by Dr Ron Knott:
+# http://www.maths.surrey.ac.uk/hosted-sites/
+# R.Knott/Fibonacci/fibrep.html#section3.2
+use strict;
+use warnings;
+
+my $N;
+if ($ARGV[0]) {$N = $ARGV[0];} else {$N = 1015;}
+
+my @FIBSEQ = (1, 1);
+
+sub generate_up_to_N {
+ my $r = 1;
+ while ($N > $FIBSEQ[$r]) {
+ $FIBSEQ[$r+1] = $FIBSEQ[$r]+$FIBSEQ[$r-1];
+ $r++;
+ }
+}
+
+generate_up_to_N;
+
+# Use Greedy Algorithm to get a first
+# Fibonacci number summation first
+sub get_fibfundsum_index {
+ my $target = $_[0];
+ my @fans = ();
+ my $s = $#FIBSEQ;
+ while ($target != 0) {
+ if ($target >= $FIBSEQ[$s]) {
+ $target = $target - $FIBSEQ[$s];
+ push @fans, $s;
+ }
+ $s--;
+ }
+ return @fans;
+}
+
+my @mainlist = ( [get_fibfundsum_index($N)] );
+
+my %unique; # avoid redundancy
+
+# variable for the loop in subroutine fibsum
+my $count = 1;
+
+#============================
+# subrountines
+#============================
+
+# avoid redundancy instead of directly push
+# also check if the loop modify the list of solutions
+sub is_it_new_discovery {
+ if (not($unique{join",",@_})) {
+ push @mainlist, [@_];
+ $unique{join",",@_} = 1;
+ $count++;
+ }
+}
+
+# main dish
+sub fibsum {
+ while ($count > 0) {
+ $count = 0;
+ my @oldlist = @mainlist;
+ my $size_of_oldlist = scalar @oldlist;
+ for my $i (0..$size_of_oldlist-1) {
+ for my $p (0..scalar @{$oldlist[$i]}) {
+ expand( $p , $oldlist[$i] );
+ }
+ }
+ }
+}
+
+# turn a Fib num F_k into F_{k-1} + F_{k-2}
+# if the latter two haven't appeared in the summation
+sub expand {
+ my $index = $_[0];
+ my @arr = @{$_[1]};
+
+ my @newarr = @arr;
+ my $bool_expandable = undef;
+
+ if (defined($arr[$index+1])) {
+ $bool_expandable = ($arr[$index] - $arr[$index+1] >= 3);
+ }
+ elsif ($index == $#arr) {
+ $bool_expandable = ($arr[$index] >= 3);
+ }
+
+ while ($bool_expandable) {
+ splice(@newarr, $index, 1,
+ ($arr[$index]-1, $arr[$index]-2 ) ) ;
+ is_it_new_discovery(@newarr);
+ @arr = @newarr;
+ $index = $index+1;
+ $bool_expandable = ( ( $index == $#arr and $arr[$index] >= 3) or
+ ( defined($arr[$index+1])
+ and ($arr[$index]-$arr[$index+1] >= 3)) );
+ }
+
+ my @recaddarray = @arr;
+ $index = $index-3;
+ if ( ($index >= 0) && ($arr[$index]-$arr[$index+1] == 3)) {
+ splice(@recaddarray, $index, 1,
+ ( $arr[$index]-1, $arr[$index]-2 ) ) ;
+ is_it_new_discovery(@recaddarray);
+ }
+}
+
+#============================
+
+fibsum;
+
+
+print "number of summations: " , scalar @mainlist, "\n";
+for my $array_k (@mainlist) {
+ if ( defined($ARGV[1]) && ($ARGV[1] eq "-r") ) {
+ print join " + ", map {$FIBSEQ[$_]} @{$array_k};
+ }
+ else {
+ print join " + ", reverse map {$FIBSEQ[$_]} @{$array_k};
+ }
+ print " = $N\n";
+}
+
diff --git a/challenge-077/cheok-yin-fung/perl/ch-2.pl b/challenge-077/cheok-yin-fung/perl/ch-2.pl
new file mode 100644
index 0000000000..e5b4026bed
--- /dev/null
+++ b/challenge-077/cheok-yin-fung/perl/ch-2.pl
@@ -0,0 +1,155 @@
+#!/usr/bin/perl
+# Perl Weekly Challenge #077 Task 2 Lonely X
+# task statement:
+# You are given m x n character matrix
+# consists of O and X only.
+# Write a script to count the total number of X
+# surrounded by O only.
+# Print 0 if none found.
+# Usage: ch-2.pl $m $n [terms on the matrix,
+# from a_1_1, a_1_2, a_1_3 to a_m_n]
+#
+# Test for Official Example 2 :
+# ch-2.pl 4 4 O O X O X O O O X O O X O X O O
+use strict;
+use warnings;
+
+unless (@ARGV) {die "No arguments given! I need:
+\$m \$n a_1_1 a_1_2 a_1_3 .. a_m_n"}
+
+my @matrix = ();
+
+my $m = shift @ARGV;
+
+my $n = shift @ARGV;
+
+for my $colnum (1..$m) {
+ $matrix[$colnum-1] = [ @ARGV[$n*($colnum-1)..$n*$colnum-1] ];
+}
+
+=pod
+#Here are some test cases;
+my @matrix = ( ["O", "O" , "X"], ["X", "O", "O"],
+ ["X", "O", "O"]) ; #example 1
+($m, $n) = (3, 3)
+
+my @matrix = ( ["O", "X" , "X", "O"], ["X", "O", "O", "X"],
+ ["O", "O", "O", "O"]) ;
+($m, $n) = (3, 4);
+
+my @matrix = ( ["O", "X" , "O"], ["X", "O", "O"],
+ ["O", "X", "O" ], ["O", "O", "O"], ["O", "X", "O"]) ;
+($m, $n) = (5, 3)
+
+my @matrix = ( ["O", "X" , "O", "O"], ["X", "O", "X", "O"],
+ ["O", "O", "O","O" ]) ;
+($m, $n) = (3, 4);
+=cut
+
+print_matrix(\@matrix);
+
+sub detect {
+ my $segment = join "", @_;
+ $segment =~ s/XI/II/g;
+ $segment =~ s/IX/II/g;
+ $segment =~ s/XX/II/g;
+ return split //, $segment;
+}
+
+for my $i (0..$m-1) {
+ @{$matrix[$i]} = detect @{$matrix[$i]};
+}
+
+for my $j (0..$n-1) {
+ my @u = detect map {${$matrix[$_]}[$j]} (0..$m-1);
+ ${$matrix[$_]}[$j] = $u[$_] for (0..$m-1);
+}
+
+sub xyreverse {
+ my @mat = @{$_[0]};
+ my @newmat = ();
+ my $t_xlen = scalar @{$mat[0]};
+ my $t_ylen = scalar @mat;
+ for my $y (0..$t_ylen-1) {
+ for my $x (0..$t_xlen-1) {
+ ${$newmat[$x]}[$y] = ${$mat[$y]}[$x];
+ }
+ }
+ return \@newmat;
+}
+
+@matrix = @{diagonal_operation(\@matrix)};
+
+sub diagonal_operation {
+ my @mat = @{$_[0]};
+ my $t_ylen = scalar @mat;
+ my $t_xlen = scalar @{$mat[0]};
+ if ($t_xlen >= $t_ylen) {
+ my $t_diff = $t_xlen - $t_ylen;
+ my $t_limit = $t_ylen;
+ for my $c (0..$t_diff) {
+ my @u = detect
+ (map {${$mat[$_]}[$c+$_]} (0..$t_ylen-1)) ;
+ ${$mat[$_]}[$c+$_] = $u[$_] for (0..$t_ylen-1);
+ }
+
+ for my $d (0..$t_limit-2) {
+ my @u = detect
+ (map {${$mat[$_]}[$t_diff+$d+1+$_]} (0..$t_limit-$d-2)) ;
+ ${$mat[$_]}[$t_diff+$d+1+$_] = $u[$_] for (0..$t_limit-$d-2) ;
+ my @v = detect
+ (map {${$mat[$d+1+$_]}[$_]} (0..$t_limit-$d-2)) ;
+ ${$mat[$d+1+$_]}[$_] = $v[$_] for (0..$t_limit-$d-2) ;
+ }
+
+ return \@mat;
+ }
+ else {
+ return xyreverse diagonal_operation(xyreverse(\@mat));
+ }
+}
+
+sub vertical_reflection {
+ my @mat = @{$_[0]};
+ my @newmat;
+ my $t_xlen = scalar @{$mat[0]};
+ my $t_ylen = scalar @mat;
+ for my $i (0..$t_ylen-1) {
+ @{$newmat[$i]} = ();
+ for my $j (0..$t_xlen-1) {
+ ${$newmat[$i]}[$j] = ${$mat[$i]}[-1-$j];
+ }
+ }
+ return \@newmat;
+}
+
+#find antidiagonal
+@matrix = @{vertical_reflection diagonal_operation
+ vertical_reflection(\@matrix)};
+
+sub print_matrix {
+ my @mat = @{$_[0]};
+ my $t_xlen = scalar @{$mat[0]};
+ my $t_ylen = scalar @mat;
+ for my $i (0..$t_ylen-1) {
+ print "[ ";
+ for my $j (0..$t_xlen-1) {
+ print ${$mat[$i]}[$j], " ";
+ }
+ print "]\n";
+ }
+}
+
+print "\n------------\n";
+
+my $count = 0;
+
+for my $row (0..$m-1) {
+ for my $col (0..$n-1) {
+ if (${$matrix[$row]}[$col] eq "X") {
+ $count++;
+ }
+ }
+}
+
+print $count, "\n";
diff --git a/challenge-077/cheok-yin-fung/python/ch-1.py b/challenge-077/cheok-yin-fung/python/ch-1.py
new file mode 100644
index 0000000000..e055718908
--- /dev/null
+++ b/challenge-077/cheok-yin-fung/python/ch-1.py
@@ -0,0 +1,77 @@
+# Python3
+# The Weekly Challenge - Perl & Raku
+# #077 Task 1 Fibonacci Sum, Python script
+
+def is_it_new_discovery(newsum):
+ global count
+ global ans
+ if not(newsum in ans):
+ ans.append(newsum)
+ count = count + 1
+
+def fibsum():
+ global count
+ global ans
+ while count > 0:
+ count = 0
+ oldlist = ans.copy()
+ for i in range( len(oldlist) ):
+ for p in range( len(oldlist[i]) ):
+ expand( p, oldlist[i] )
+
+
+def expand( index , a_list):
+ if index < len(a_list)-1:
+ if a_list[index] - a_list[index+1] >= 3:
+ newlist = []
+ for i in range(0,index):
+ newlist.append(a_list[i])
+ newlist.append(a_list[index]-1)
+ newlist.append(a_list[index]-2)
+ for i in range(index+1,len(a_list)):
+ newlist.append(a_list[i])
+ is_it_new_discovery(newlist)
+ else:
+ if index == len(a_list)-1 and a_list[index] >= 3:
+ newlist = []
+ for i in range(0,index-1):
+ newlist.append(a_list[i])
+ newlist.append(a_list[index]-1)
+ newlist.append(a_list[index]-2)
+ is_it_new_discovery(newlist)
+
+def fibnumlist(a_list):
+ return list(map( lambda x: fib[x], a_list))
+
+if __name__ == "__main__":
+ N = int(input("Enter the number you are concerning with:\n"))
+
+ ans = []
+
+ count = 1
+
+ fundsum = []
+ fib = []
+ fib.append(1)
+ fib.append(1)
+ k = 1;
+ while N > fib[k]:
+ k = k+1
+ fib.append(fib[k-1] + fib[k-2])
+ if N == fib[k]:
+ r = k
+ else:
+ r = k-1
+
+ target = N
+ while target != 0:
+ if target >= fib[r]:
+ target = target - fib[r]
+ fundsum.append(r)
+ r = r-1
+
+ ans.append(fundsum)
+ fibsum()
+ for a_list in ans:
+ print(fibnumlist(a_list))
+ print("number of solution(s): ", len(ans))
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index ddcc901db7..6101c1131f 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,205 +1,17 @@
{
- "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
- },
- "legend" : {
- "enabled" : 0
- },
- "series" : [
- {
- "data" : [
- {
- "drilldown" : "Alexander Pankoff",
- "name" : "Alexander Pankoff",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Andinus",
- "drilldown" : "Andinus"
- },
- {
- "y" : 5,
- "drilldown" : "Andrew Shitov",
- "name" : "Andrew Shitov"
- },
- {
- "y" : 3,
- "name" : "Arne Sommer",
- "drilldown" : "Arne Sommer"
- },
- {
- "drilldown" : "Athanasius",
- "name" : "Athanasius",
- "y" : 4
- },
- {
- "name" : "Bob Lied",
- "drilldown" : "Bob Lied",
- "y" : 2
- },
- {
- "name" : "Colin Crain",
- "drilldown" : "Colin Crain",
- "y" : 1
- },
- {
- "drilldown" : "Dave Jacoby",
- "name" : "Dave Jacoby",
- "y" : 2
- },
- {
- "y" : 2,
- "drilldown" : "E. Choroba",
- "name" : "E. Choroba"
- },
- {
- "drilldown" : "Feng Chang",
- "name" : "Feng Chang",
- "y" : 2
- },
- {
- "drilldown" : "Flavio Poletti",
- "name" : "Flavio Poletti",
- "y" : 2
- },
- {
- "y" : 1,
- "name" : "Jan Krnavek",
- "drilldown" : "Jan Krnavek"
- },
- {
- "y" : 2,
- "drilldown" : "Jorg Sommrey",
- "name" : "Jorg Sommrey"
- },
- {
- "y" : 5,
- "name" : "Laurent Rosenfeld",
- "drilldown" : "Laurent Rosenfeld"
- },
- {
- "drilldown" : "Lubos Kolouch",
- "name" : "Lubos Kolouch",
- "y" : 2
- },
- {
- "drilldown" : "Mark Anderson",
- "name" : "Mark Anderson",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Markus Holzer",
- "drilldown" : "Markus Holzer"
- },
- {
- "y" : 4,
- "drilldown" : "Mohammad S Anwar",
- "name" : "Mohammad S Anwar"
- },
- {
- "drilldown" : "Myoungjin Jeon",
- "name" : "Myoungjin Jeon",
- "y" : 4
- },
- {
- "y" : 2,
- "name" : "Niels van Dijke",
- "drilldown" : "Niels van Dijke"
- },
- {
- "name" : "Nuno Vieira",
- "drilldown" : "Nuno Vieira",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "P6steve",
- "drilldown" : "P6steve"
- },
- {
- "y" : 2,
- "drilldown" : "Pete Houston",
- "name" : "Pete Houston"
- },
- {
- "drilldown" : "Roger Bell_West",
- "name" : "Roger Bell_West",
- "y" : 5
- },
- {
- "y" : 3,
- "name" : "Shahed Nooshmand",
- "drilldown" : "Shahed Nooshmand"
- },
- {
- "drilldown" : "Simon Green",
- "name" : "Simon Green",
- "y" : 3
- },
- {
- "y" : 2,
- "drilldown" : "Simon Proctor",
- "name" : "Simon Proctor"
- },
- {
- "drilldown" : "Ulrich Rieke",
- "name" : "Ulrich Rieke",
- "y" : 2
- },
- {
- "drilldown" : "Walt Mankowski",
- "name" : "Walt Mankowski",
- "y" : 3
- },
- {
- "y" : 1,
- "drilldown" : "Wanderdoc",
- "name" : "Wanderdoc"
- }
- ],
- "colorByPoint" : 1,
- "name" : "Perl Weekly Challenge - 077"
- }
- ],
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
- }
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "subtitle" : {
- "text" : "[Champions: 30] Last updated at 2020-09-13 12:17:40 GMT"
- },
- "xAxis" : {
- "type" : "category"
- },
"drilldown" : {
"series" : [
{
"name" : "Alexander Pankoff",
- "id" : "Alexander Pankoff",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Alexander Pankoff"
},
{
- "name" : "Andinus",
- "id" : "Andinus",
"data" : [
[
"Perl",
@@ -209,9 +21,12 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Andinus",
+ "id" : "Andinus"
},
{
+ "name" : "Andrew Shitov",
"data" : [
[
"Perl",
@@ -226,11 +41,10 @@
2
]
],
- "id" : "Andrew Shitov",
- "name" : "Andrew Shitov"
+ "id" : "Andrew Shitov"
},
{
- "id" : "Arne Sommer",
+ "name" : "Arne Sommer",
"data" : [
[
"Raku",
@@ -241,9 +55,11 @@
1
]
],
- "name" : "Arne Sommer"
+ "id" : "Arne Sommer"
},
{
+ "id" : "Athanasius",
+ "name" : "Athanasius",
"data" : [
[
"Perl",
@@ -253,19 +69,31 @@
"Raku",
2
]
- ],
- "id" : "Athanasius",
- "name" : "Athanasius"
+ ]
},
{
+ "id" : "Bob Lied",
+ "name" : "Bob Lied",
"data" : [
[
"Perl",
2
]
+ ]
+ },
+ {
+ "name" : "Cheok-Yin Fung",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
],
- "id" : "Bob Lied",
- "name" : "Bob Lied"
+ "id" : "Cheok-Yin Fung"
},
{
"data" : [
@@ -274,70 +102,72 @@
1
]
],
- "id" : "Colin Crain",
- "name" : "Colin Crain"
+ "name" : "Colin Crain",
+ "id" : "Colin Crain"
},
{
- "id" : "Dave Jacoby",
"data" : [
[
"Perl",
2
]
],
- "name" : "Dave Jacoby"
+ "name" : "Dave Jacoby",
+ "id" : "Dave Jacoby"
},
{
- "name" : "E. Choroba",
"data" : [
[
"Perl",
2
]
],
+ "name" : "E. Choroba",
"id" : "E. Choroba"
},
{
"id" : "Feng Chang",
+ "name" : "Feng Chang",
"data" : [
[
"Raku",
2
]
- ],
- "name" : "Feng Chang"
+ ]
},
{
+ "id" : "Flavio Poletti",
"data" : [
[
"Perl",
2
]
],
- "id" : "Flavio Poletti",
"name" : "Flavio Poletti"
},
{
+ "id" : "Jan Krnavek",
+ "name" : "Jan Krnavek",
"data" : [
[
"Raku",
1
]
- ],
- "id" : "Jan Krnavek",
- "name" : "Jan Krnavek"
+ ]
},
{
"id" : "Jorg Sommrey",
+ "name" : "Jorg Sommrey",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "Jorg Sommrey"
+ ]
},
{
+ "id" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl",
@@ -351,43 +181,41 @@
"Blog",
1
]
- ],
- "id" : "Laurent Rosenfeld",
- "name" : "Laurent Rosenfeld"
+ ]
},
{
+ "id" : "Lubos Kolouch",
"name" : "Lubos Kolouch",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "Lubos Kolouch"
+ ]
},
{
- "name" : "Mark Anderson",
"id" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "name" : "Mark Anderson"
},
{
- "name" : "Markus Holzer",
- "id" : "Markus Holzer",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "name" : "Markus Holzer",
+ "id" : "Markus Holzer"
},
{
- "name" : "Mohammad S Anwar",
"id" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar",
"data" : [
[
"Perl",
@@ -415,47 +243,45 @@
},
{
"id" : "Niels van Dijke",
+ "name" : "Niels van Dijke",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "Niels van Dijke"
+ ]
},
{
- "name" : "Nuno Vieira",
+ "id" : "Nuno Vieira",
"data" : [
[
"Perl",
2
]
],
- "id" : "Nuno Vieira"
+ "name" : "Nuno Vieira"
},
{
- "id" : "P6steve",
"data" : [
[
"Raku",
2
]
],
- "name" : "P6steve"
+ "name" : "P6steve",
+ "id" : "P6steve"
},
{
- "name" : "Pete Houston",
- "id" : "Pete Houston",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Pete Houston",
+ "id" : "Pete Houston"
},
{
- "name" : "Roger Bell_West",
- "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -469,11 +295,12 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Roger Bell_West",
+ "id" : "Roger Bell_West"
},
{
"name" : "Shahed Nooshmand",
- "id" : "Shahed Nooshmand",
"data" : [
[
"Raku",
@@ -483,11 +310,11 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Shahed Nooshmand"
},
{
"name" : "Simon Green",
- "id" : "Simon Green",
"data" : [
[
"Perl",
@@ -497,20 +324,20 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Simon Green"
},
{
- "id" : "Simon Proctor",
"data" : [
[
"Raku",
2
]
],
- "name" : "Simon Proctor"
+ "name" : "Simon Proctor",
+ "id" : "Simon Proctor"
},
{
- "name" : "Ulrich Rieke",
"id" : "Ulrich Rieke",
"data" : [
[
@@ -521,9 +348,11 @@
"Raku",
1
]
- ]
+ ],
+ "name" : "Ulrich Rieke"
},
{
+ "name" : "Walt Mankowski",
"data" : [
[
"Perl",
@@ -534,25 +363,215 @@
1
]
],
- "id" : "Walt Mankowski",
- "name" : "Walt Mankowski"
+ "id" : "Walt Mankowski"
},
{
+ "name" : "Wanderdoc",
"data" : [
[
"Perl",
1
]
],
- "id" : "Wanderdoc",
- "name" : "Wanderdoc"
+ "id" : "Wanderdoc"
}
]
},
- "chart" : {
- "type" : "column"
+ "series" : [
+ {
+ "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 077",
+