aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-058/mark-anderson/raku/ch-2.p621
1 files changed, 21 insertions, 0 deletions
diff --git a/challenge-058/mark-anderson/raku/ch-2.p6 b/challenge-058/mark-anderson/raku/ch-2.p6
new file mode 100644
index 0000000000..4478b41e9f
--- /dev/null
+++ b/challenge-058/mark-anderson/raku/ch-2.p6
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+my @H = (27, 21, 37, 4, 19, 52, 23, 64, 1, 7, 51, 17, 24, 50, 3, 2,
+ 34, 40, 47, 20, 8, 56, 14, 16, 42, 38, 62, 53, 31, 41, 55, 59,
+ 48, 12, 32, 61, 9, 60, 46, 26, 58, 25, 15, 36, 11, 44, 63, 28,
+ 5, 54, 10, 49, 57, 30, 29, 22, 35, 39, 45, 43, 18, 6, 13, 33);
+
+my @T = ( 6, 41, 1, 49, 38, 12, 1, 0, 58, 47, 4, 17, 26, 1, 61, 12,
+ 29, 3, 4, 11, 45, 1, 32, 5, 9, 19, 1, 4, 28, 12, 2, 2,
+ 13, 18, 19, 3, 4, 1, 10, 16, 4, 3, 29, 5, 49, 1, 1, 24,
+ 2, 1, 38, 7, 7, 14, 35, 25, 0, 5, 4, 19, 10, 13, 4, 12);
+
+my @A = (@H Z @T).sort;
+
+my @Ans;
+
+while @A.pop -> ($h, $t) {
+ @Ans = |@Ans[0 .. $t-1], ($h, $t), |@Ans[$t .. *-1];
+}
+
+say @Ans.map(*[0]).rotor(16).join("\n");