]> www.fi.muni.cz Git - aoc.git/blobdiff - 2016/32.pl
The rest of Year 2016
[aoc.git] / 2016 / 32.pl
diff --git a/2016/32.pl b/2016/32.pl
new file mode 100755 (executable)
index 0000000..e590e58
--- /dev/null
@@ -0,0 +1,26 @@
+#!/usr/bin/perl -w
+
+use strict;
+use v5.30;
+
+my $in = '00101000101111010';
+my $len = 35651584;
+
+while (length($in) < $len) {
+       my $l1 = join('', reverse split(//, $in));
+       $l1 =~ y/01/10/;
+       $in .= '0' . $l1;
+}
+
+$in = substr($in, 0, $len);
+while (length($in) % 2 == 0) {
+       my $l1 = '';
+       while ($in =~ /../g) {
+               $l1 .= ($& eq '11' || $& eq '00') ? '1' : '0';
+       }
+       $in = $l1;
+}
+
+say $in;
+
+