diff options
| -rw-r--r-- | challenge-174/laurent-rosenfeld/perl/ch-2.pl | 42 | ||||
| -rw-r--r-- | challenge-174/laurent-rosenfeld/raku/ch-2.raku | 24 | ||||
| -rw-r--r-- | stats/pwc-challenge-174.json | 560 | ||||
| -rw-r--r-- | stats/pwc-current.json | 102 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 68 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 2470 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 398 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 54 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 130 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 122 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 116 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 564 |
17 files changed, 2557 insertions, 2491 deletions
diff --git a/challenge-174/laurent-rosenfeld/perl/ch-2.pl b/challenge-174/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..f54d80be22 --- /dev/null +++ b/challenge-174/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,42 @@ +use strict; +use warnings; +use feature "say"; +use Data::Dumper; + +my @permutations; + +sub permute { + my ($done, $left) = @_; + if (scalar @$left == 0) { + push @permutations, $done; + return; + } + my @left = @$left; + permute([ @$done, $left[$_]], [@left[0..$_-1], @left[$_+1..$#left]]) for 0..$#left; +} + +sub permutation2rank { + # if the input list is sorted, then permutations will be sorted + # This will be in lexicographic order, even for numbers + my @sorted = sort @_; + permute([], [@sorted]); + my @permut_str = map {join " ", @$_} @permutations; + my $count = 0; + my %ranks = map { $_ => $count++ } @permut_str; +} + +sub rank2permutations { + return (map {join " ", @$_} @permutations)[$_[0]]; +} + +my @tests = ( [1, 0, 2], [6, 3, 4], [<a d c b>]); +for my $test (@tests) { + @permutations = (); + my %ranks = permutation2rank (@$test); + my $test_str = join " ", @$test; + say "Rank of [$test_str] is: $ranks{$test_str}"; + for my $i (2, 4, 5) { + say "Rank $i is [", rank2permutations ($i), "]"; + } + say " "; +} diff --git a/challenge-174/laurent-rosenfeld/raku/ch-2.raku b/challenge-174/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..4c33002a1b --- /dev/null +++ b/challenge-174/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,24 @@ +my @permut_str; + +sub permutation2rank(@in) { + # if the input list is sorted, then permutations will be sorted + # Forcing a lexicographic order (although not really needed here) + my @sorted = sort { $^a leg $^b }, @in; + my @permutations = @sorted.permutations; + @permut_str = map {[join " ", $_]}, @permutations; + my %ranks = map { $^b => $^a }, @permut_str.kv; +} +sub rank2permutations ($rank) { + return @permut_str[$rank]; +} + +my @tests = (1, 0, 2), (6, 3, 4), <a c d b>; +for @tests -> @test { + my %ranks = permutation2rank(@test); + say @permut_str; + my $test = join " ", @test; + say "[$test] has rank %ranks{$test}"; + say "Rank %ranks{$test} is ", rank2permutations(%ranks{$test}); + say "Rank {%ranks{$test} - 1} is ", rank2permutations(%ranks{$test} - 1); + say ""; +} diff --git a/stats/pwc-challenge-174.json b/stats/pwc-challenge-174.json index 405427e206..bec5a9f71d 100644 --- a/stats/pwc-challenge-174.json +++ b/stats/pwc-challenge-174.json @@ -2,214 +2,9 @@ "xAxis" : { "type" : "category" }, - "subtitle" : { - "text" : "[Champions: 35] Last updated at 2022-07-25 17:23:47 GMT" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 174", - "data" : [ - { - "drilldown" : "Adam Russell", - "name" : "Adam Russell", - "y" : 4 - }, - { - "drilldown" : "Arne Sommer", - "y" : 3, - "name" : "Arne Sommer" - }, - { - "name" : "Athanasius", - "y" : 2, - "drilldown" : "Athanasius" - }, - { - "drilldown" : "Bruce Gray", - "name" : "Bruce Gray", - "y" : 2 - }, - { - "name" : "Cheok-Yin Fung", - "y" : 2, - "drilldown" : "Cheok-Yin Fung" - }, - { - "drilldown" : "Colin Crain", - "y" : 1, - "name" : "Colin Crain" - }, - { - "y" : 1, - "name" : "Dario Mazzeo", - "drilldown" : "Dario Mazzeo" - }, - { - "drilldown" : "Duncan C. White", - "y" : 2, - "name" : "Duncan C. White" - }, - { - "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 2 - }, - { - "drilldown" : "Flavio Poletti", - "name" : "Flavio Poletti", - "y" : 7 - }, - { - "name" : "Gurunandan Bhat", - "y" : 2, - "drilldown" : "Gurunandan Bhat" - }, - { - "drilldown" : "Jaldhar H. Vyas", - "y" : 5, - "name" : "Jaldhar H. Vyas" - }, - { - "drilldown" : "James Smith", - "name" : "James Smith", - "y" : 3 - }, - { - "drilldown" : "Jan Krnavek", - "name" : "Jan Krnavek", - "y" : 2 - }, - { - "y" : 2, - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey" - }, - { - "drilldown" : "Kjetil Skotheim", - "name" : "Kjetil Skotheim", - "y" : 2 - }, - { - "y" : 3, - "name" : "Laurent Rosenfeld", - "drilldown" : "Laurent Rosenfeld" - }, - { - "drilldown" : "Lubos Kolouch", - "y" : 2, - "name" : "Lubos Kolouch" - }, - { - "drilldown" : "Luca Ferrari", - "y" : 8, - "name" : "Luca Ferrari" - }, - { - "name" : "Mark Anderson", - "y" : 2, - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Matthew Neleigh", - "name" : "Matthew Neleigh", - "y" : 2 - }, - { - "drilldown" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar", - "y" : 4 - }, - { - "y" : 1, - "name" : "Nicolas Mendoza", - "drilldown" : "Nicolas Mendoza" - }, - { - "drilldown" : "Peter Campbell Smith", - "y" : 3, - "name" : "Peter Campbell Smith" - }, - { - "drilldown" : "Philippe Bricout", - "y" : 1, - "name" : "Philippe Bricout" - }, - { - "name" : "PokGoPun", - "y" : 2, - "drilldown" : "PokGoPun" - }, - { - "drilldown" : "Robert DiCicco", - "name" : "Robert DiCicco", - "y" : 3 - }, - { - "drilldown" : "Robert Ransbottom", - "name" : "Robert Ransbottom", - "y" : 2 - }, - { - "drilldown" : "Roger Bell_West", - "y" : 5, - "name" : "Roger Bell_West" - }, - { - "drilldown" : "Simon Green", - "name" : "Simon Green", - "y" : 2 - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 1 - }, - { - "drilldown" : "Stephen G Lynn", - "y" : 5, - "name" : "Stephen G Lynn" - }, - { - "y" : 1, - "name" : "Steven Wilson", - "drilldown" : "Steven Wilson" - }, - { - "y" : 3, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" - }, - { - "drilldown" : "W. Luis Mochan", - "y" : 3, - "name" : "W. Luis Mochan" - } - ] - } - ], - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "legend" : { - "enabled" : 0 - }, "drilldown" : { "series" : [ { - "id" : "Adam Russell", - "name" : "Adam Russell", "data" : [ [ "Perl", @@ -219,11 +14,11 @@ "Blog", 2 ] - ] + ], + "id" : "Adam Russell", + "name" : "Adam Russell" }, { - "id" : "Arne Sommer", - "name" : "Arne Sommer", "data" : [ [ "Raku", @@ -233,7 +28,9 @@ "Blog", 1 ] - ] + ], + "name" : "Arne Sommer", + "id" : "Arne Sommer" }, { "data" : [ @@ -246,8 +43,8 @@ 1 ] ], - "name" : "Athanasius", - "id" : "Athanasius" + "id" : "Athanasius", + "name" : "Athanasius" }, { "data" : [ @@ -260,58 +57,58 @@ "id" : "Bruce Gray" }, { - "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", 2 ] ], + "id" : "Cheok-Yin Fung", "name" : "Cheok-Yin Fung" }, { - "id" : "Colin Crain", - "name" : "Colin Crain", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Colin Crain", + "id" : "Colin Crain" }, { - "id" : "Dario Mazzeo", - "name" : "Dario Mazzeo", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Dario Mazzeo", + "name" : "Dario Mazzeo" }, { + "name" : "Duncan C. White", + "id" : "Duncan C. White", "data" : [ [ "Perl", 2 ] - ], - "name" : "Duncan C. White", - "id" : "Duncan C. White" + ] }, { "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "id" : "E. Choroba" + ] }, { - "id" : "Flavio Poletti", "name" : "Flavio Poletti", + "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -328,18 +125,16 @@ ] }, { + "name" : "Gurunandan Bhat", + "id" : "Gurunandan Bhat", "data" : [ [ "Perl", 2 ] - ], - "name" : "Gurunandan Bhat", - "id" : "Gurunandan Bhat" + ] }, { - "id" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas", "data" : [ [ "Perl", @@ -353,11 +148,11 @@ "Blog", 1 ] - ] + ], + "id" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas" }, { - "id" : "James Smith", - "name" : "James Smith", "data" : [ [ "Perl", @@ -367,69 +162,69 @@ "Blog", 1 ] - ] + ], + "name" : "James Smith", + "id" : "James Smith" }, { - "name" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] ], + "name" : "Jan Krnavek", "id" : "Jan Krnavek" }, { + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ], - "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey" + ] }, { + "name" : "Kjetil Skotheim", + "id" : "Kjetil Skotheim", "data" : [ [ "Perl", 2 ] - ], - "name" : "Kjetil Skotheim", - "id" : "Kjetil Skotheim" + ] }, { "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", - 1 + 2 ], [ "Raku", - 1 + 2 ], [ "Blog", 1 ] - ], - "id" : "Laurent Rosenfeld" + ] }, { + "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] - ], - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch" + ] }, { - "id" : "Luca Ferrari", - "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -439,7 +234,9 @@ "Blog", 6 ] - ] + ], + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { "id" : "Mark Anderson", @@ -452,16 +249,17 @@ ] }, { - "name" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] ], + "name" : "Matthew Neleigh", "id" : "Matthew Neleigh" }, { + "id" : "Mohammad S Anwar", "name" : "Mohammad S Anwar", "data" : [ [ @@ -472,12 +270,11 @@ "Raku", 2 ] - ], - "id" : "Mohammad S Anwar" + ] }, { - "id" : "Nicolas Mendoza", "name" : "Nicolas Mendoza", + "id" : "Nicolas Mendoza", "data" : [ [ "Perl", @@ -496,28 +293,28 @@ 1 ] ], - "name" : "Peter Campbell Smith", - "id" : "Peter Campbell Smith" + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" }, { "name" : "Philippe Bricout", + "id" : "Philippe Bricout", "data" : [ [ "Perl", 1 ] - ], - "id" : "Philippe Bricout" + ] }, { + "id" : "PokGoPun", "name" : "PokGoPun", "data" : [ [ "Perl", 2 ] - ], - "id" : "PokGoPun" + ] }, { "data" : [ @@ -530,8 +327,8 @@ 2 ] ], - "name" : "Robert DiCicco", - "id" : "Robert DiCicco" + "id" : "Robert DiCicco", + "name" : "Robert DiCicco" }, { "data" : [ @@ -544,6 +341,8 @@ "id" : "Robert Ransbottom" }, { + "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -557,12 +356,9 @@ "Blog", 1 ] - ], - "name" : "Roger Bell_West", - "id" : "Roger Bell_West" + ] }, { - "id" : "Simon Green", "data" : [ [ "Perl", @@ -573,20 +369,20 @@ 1 ] ], - "name" : "Simon Green" + "name" : "Simon Green", + "id" : "Simon Green" }, { "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ [ "Raku", 1 ] - ], - "name" : "Simon Proctor" + ] }, { - "id" : "Stephen G Lynn", "data" : [ [ "Perl", @@ -601,19 +397,21 @@ 1 ] ], + "id" : "Stephen G Lynn", "name" : "Stephen G Lynn" }, { - "id" : "Steven Wilson", - "name" : "Steven Wilson", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Steven Wilson", + "name" : "Steven Wilson" }, { + "name" : "Ulrich Rieke", "id" : "Ulrich Rieke", "data" : [ [ @@ -624,10 +422,11 @@ "Raku", 1 ] - ], - "name" : "Ulrich Rieke" + ] }, { + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -637,21 +436,222 @@ "Blog", 1 ] - ], - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan" + ] } ] }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, "title" : { "text" : "The Weekly Challenge - 174" }, "chart" : { "type" : "column" }, + "legend" : { + "enabled" : 0 + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "[Champions: 35] Last updated at 2022-07-27 08:23:35 GMT" + }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 174", + "data" : [ + { + "drilldown" : "Adam Russell", + "y" : 4, + "name" : "Adam Russell" + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 3 + }, + { + "drilldown" : "Athanasius", + "name" : "Athanasius", + "y" : 2 + }, + { + "name" : "Bruce Gray", + "y" : 2, + "drilldown" : "Bruce Gray" + }, + { + "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", + "y" : 2 + }, + { + "drilldown" : "Colin Crain", + "name" : "Colin Crain", + "y" : 1 + }, + { + "y" : 1, + "name" : "Dario Mazzeo", + "drilldown" : "Dario Mazzeo" + }, + { + "y" : 2, + "name" : "Duncan C. White", + "drilldown" : "Duncan C. White" + }, + { + "drilldown" : "E. Choroba", + "y" : 2, + "name" : "E. Choroba" + }, + { + "name" : "Flavio Poletti", + "y" : 7, + "drilldown" : "Flavio Poletti" + }, + { + "drilldown" : "Gurunandan Bhat", + "y" : 2, + "name" : "Gurunandan Bhat" + }, + { + "drilldown" : "Jaldhar H. Vyas", + "y" : 5, + "name" : "Jaldhar H. Vyas" + }, + { + "y" : 3, + "name" : "James Smith", + "drilldown" : "James Smith" + }, + { + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 2 + }, + { + "y" : 2, + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey" + }, + { + "name" : "Kjetil Skotheim", + "y" : 2, + "drilldown" : "Kjetil Skotheim" + }, + { + "y" : 5, + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld" + }, + { + "name" : "Lubos Kolouch", + "y" : 2, + "drilldown" : "Lubos Kolouch" + }, + { + "name" : "Luca Ferrari", + "y" : 8, + "drilldown" : "Luca Ferrari" + }, + { + "drilldown" : "Mark Anderson", + "y" : 2, + "name" : "Mark Anderson" + }, + { + "drilldown" : "Matthew Neleigh", + "y" : 2, + "name" : "Matthew Neleigh" + }, + { + "name" : "Mohammad S Anwar", + "y" : 4, + "drilldown" : "Mohammad S Anwar" + }, + { + "name" : "Nicolas Mendoza", + "y" : 1, + "drilldown" : "Nicolas Mendoza" + }, + { + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", + "y" : 3 + }, + { + "drilldown" : "Philippe Bricout", + "y" : 1, + "name" : "Philippe Bricout" + }, + { + "drilldown" : "PokGoPun", + "y" : 2, + "name" : "PokGoPun" + }, + { + "y" : 3, + "name" : "Robert DiCicco", + "drilldown" : "Robert DiCicco" + }, + { + "name" : "Robert Ransbottom", + "y" : 2, + "drilldown" : "Robert Ransbottom" + }, + { + "drilldown" : "Roger Bell_West", + "y" : 5, + "name" : "Roger Bell_West" + }, + { + "drilldown" : "Simon Green", + "y" : 2, + "name" : "Simon Green" + }, + { + "y" : 1, + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" + }, + { + "drilldown" : "Stephen G Lynn", + "name" : "Stephen G Lynn", + "y" : 5 + }, + { + "y" : 1, + "name" : "Steven Wilson", + "drilldown" : "Steven Wilson" + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 3, + "name" : "Ulrich Rieke" + }, + { + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan", + "y" : 3 + } + ] + } + ], "tooltip" : { "followPointer" : 1, - "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/>" + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" } } diff --git a/stats/pwc-current.json b/stats/pwc-current.json index bd8aaf17da..806b45e275 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,38 +1,43 @@ { - "subtitle" : { - "text" : "[Champions: 11] Last updated at 2022-07-26 17:14:23 GMT" + "title" : { + "text" : "The Weekly Challenge - 175" }, - "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/>" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "legend" : { "enabled" : 0 }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { - "name" : "Dave Cross", "data" : [ [ "Perl", 2 ] ], + "name" : "Dave Cross", "id" : "Dave Cross" }, { - "name" : "Kjetil Skotheim", "data" : [ [ "Perl", 2 ] ], + "name" : "Kjetil Skotheim", "id" : "Kjetil Skotheim" }, { + "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -42,23 +47,19 @@ "Blog", 6 ] - ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + ] }, { - "name" : "Mark Anderson", "data" : [ [ "Blog", 2 ] ], - "id" : "Mark Anderson" + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { - "id" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -68,9 +69,13 @@ "Raku", 1 ] - ] + ], + "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar" }, { + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -80,12 +85,9 @@ "Blog", 1 ] - ], - "name" : "Peter Campbell Smith", - "id" : "Peter Campbell Smith" + ] }, { - "name" : "Robert DiCicco", "data" : [ [ "Perl", @@ -96,9 +98,11 @@ 1 ] ], + "name" : "Robert DiCicco", "id" : "Robert DiCicco" }, { + "id" : "Roger Bell_West", "name" : "Roger Bell_West", "data" : [ [ @@ -113,18 +117,17 @@ "Blog", 1 ] - ], - "id" : "Roger Bell_West" + ] }, { + "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ [ "Raku", 1 ] - ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + ] }, { "data" : [ @@ -145,7 +148,6 @@ "id" : "Stephen G Lynn" }, { - "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -156,27 +158,22 @@ 1 ] |
