days 11-16
This commit is contained in:
16 files changed
+2313
No files matched your search
@@ -0,0 +1 @@
|
||||
ne,se,se,s,nw,s,ne,sw,s,nw,sw,sw,sw,sw,sw,s,sw,nw,nw,nw,nw,ne,nw,nw,n,n,n,nw,nw,nw,n,n,s,nw,sw,se,n,n,ne,n,n,n,sw,n,ne,n,nw,n,sw,n,se,n,ne,ne,sw,n,n,ne,ne,ne,ne,s,se,ne,ne,ne,n,ne,ne,ne,sw,ne,ne,sw,se,se,ne,sw,nw,se,s,nw,se,nw,se,se,se,se,se,ne,se,se,n,n,se,se,sw,se,se,se,se,se,se,se,se,se,ne,se,ne,se,se,s,se,se,se,se,se,s,se,ne,s,se,s,se,ne,s,se,s,s,s,se,se,s,s,nw,s,s,s,se,s,s,s,s,nw,nw,s,s,nw,s,s,nw,s,s,s,s,s,s,s,nw,s,sw,s,s,sw,s,s,s,s,s,ne,nw,s,s,n,s,sw,s,n,sw,sw,sw,sw,s,sw,sw,sw,sw,sw,sw,s,s,se,se,sw,sw,nw,s,s,s,s,sw,sw,sw,ne,s,sw,s,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,sw,sw,se,se,sw,sw,sw,sw,sw,sw,sw,nw,nw,sw,sw,nw,nw,s,sw,sw,sw,sw,se,sw,s,nw,se,sw,nw,sw,sw,sw,sw,sw,sw,nw,nw,sw,sw,sw,sw,sw,n,n,nw,sw,sw,nw,se,sw,nw,sw,ne,sw,nw,n,n,nw,sw,nw,nw,nw,nw,nw,sw,n,nw,nw,sw,nw,n,nw,sw,nw,s,sw,sw,sw,nw,nw,sw,nw,nw,nw,sw,sw,nw,nw,nw,nw,nw,nw,sw,nw,nw,nw,nw,ne,nw,ne,nw,nw,sw,nw,nw,se,nw,nw,se,nw,nw,nw,sw,n,n,nw,n,nw,nw,sw,nw,n,nw,s,nw,nw,ne,nw,nw,nw,nw,nw,n,nw,n,nw,nw,nw,se,nw,nw,n,se,n,ne,nw,nw,nw,nw,nw,nw,n,nw,nw,nw,n,nw,ne,n,nw,se,n,nw,se,nw,n,n,s,nw,n,n,n,ne,sw,n,se,nw,nw,nw,nw,nw,n,n,nw,n,nw,nw,nw,n,n,nw,s,nw,nw,nw,nw,n,n,sw,n,n,nw,nw,se,nw,ne,nw,n,nw,se,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,nw,s,s,ne,nw,nw,ne,sw,nw,se,n,se,ne,ne,nw,nw,n,nw,s,n,se,n,n,n,n,n,n,n,n,n,n,n,n,nw,n,n,n,n,nw,n,se,n,n,sw,n,n,ne,s,n,n,n,n,n,n,n,n,n,s,n,nw,n,n,ne,s,n,ne,se,n,n,ne,ne,n,s,s,n,n,nw,n,n,s,ne,n,n,n,ne,ne,n,se,n,n,n,n,sw,n,sw,n,se,s,nw,n,n,n,ne,n,ne,n,ne,se,s,se,ne,n,n,n,ne,ne,ne,ne,ne,ne,n,ne,n,n,ne,n,n,se,ne,n,n,n,n,se,ne,n,n,n,se,s,ne,ne,ne,ne,ne,ne,ne,sw,sw,ne,ne,ne,nw,n,ne,n,ne,ne,ne,n,ne,ne,sw,ne,n,se,ne,nw,ne,n,s,ne,ne,ne,ne,n,ne,ne,ne,ne,ne,ne,sw,s,n,ne,n,ne,ne,ne,n,nw,sw,ne,ne,ne,ne,ne,ne,se,ne,n,s,ne,sw,nw,ne,n,ne,n,n,ne,n,ne,ne,ne,s,ne,ne,ne,ne,ne,ne,se,ne,ne,ne,ne,ne,ne,s,ne,se,n,ne,sw,ne,n,ne,ne,ne,ne,ne,ne,s,ne,ne,ne,ne,se,ne,s,ne,ne,ne,ne,s,ne,ne,s,ne,ne,ne,ne,ne,ne,ne,se,se,se,ne,ne,n,ne,ne,ne,s,n,ne,s,ne,se,ne,ne,ne,ne,ne,s,sw,ne,s,ne,se,se,ne,nw,ne,se,se,se,ne,nw,sw,ne,ne,ne,ne,ne,ne,ne,ne,ne,s,se,ne,ne,se,s,se,ne,se,ne,nw,s,se,ne,ne,se,se,se,s,ne,se,ne,sw,se,ne,se,se,ne,ne,ne,se,se,ne,se,nw,s,ne,ne,n,ne,ne,se,ne,ne,se,ne,ne,se,ne,ne,ne,se,ne,nw,ne,ne,sw,se,se,sw,se,ne,ne,se,nw,sw,ne,s,ne,ne,se,ne,ne,s,se,ne,ne,ne,n,sw,n,se,ne,ne,ne,se,n,ne,sw,ne,sw,se,se,ne,ne,se,ne,ne,se,se,se,se,nw,nw,se,se,ne,se,sw,ne,s,ne,ne,se,se,se,sw,sw,se,ne,ne,nw,n,ne,se,ne,ne,se,se,se,ne,ne,sw,se,ne,se,ne,se,se,se,se,ne,se,se,se,ne,se,se,sw,se,se,se,se,se,ne,se,se,se,se,se,ne,se,se,se,se,se,ne,ne,sw,se,se,ne,ne,ne,nw,se,se,nw,se,se,se,sw,se,se,se,sw,ne,se,se,sw,se,s,se,se,se,se,se,se,s,se,se,s,s,se,se,se,se,se,se,se,sw,se,se,se,se,se,se,ne,n,se,se,n,se,se,se,sw,s,ne,s,se,se,se,se,se,se,se,se,sw,ne,se,se,s,se,se,se,se,s,n,se,se,nw,se,ne,se,se,nw,se,se,se,se,n,se,se,se,se,se,se,se,se,n,se,se,se,se,n,se,s,se,n,s,se,s,s,sw,se,s,se,n,se,sw,s,se,sw,se,se,se,se,se,se,se,se,se,se,se,se,se,se,se,sw,n,sw,se,se,se,s,se,nw,se,s,s,s,se,s,se,se,sw,sw,se,se,ne,se,s,se,s,se,ne,s,s,se,s,nw,se,se,s,sw,s,se,s,s,se,s,s,sw,nw,se,se,se,sw,s,nw,se,n,se,s,s,s,se,se,se,se,ne,ne,s,s,se,se,sw,s,s,se,se,nw,s,nw,s,se,s,s,s,se,se,s,s,s,nw,n,sw,se,se,s,se,se,se,se,se,s,s,se,se,s,s,s,s,se,sw,se,ne,nw,sw,ne,s,s,s,se,n,nw,se,se,se,s,se,ne,sw,s,s,se,s,s,s,nw,nw,s,s,se,s,s,se,s,s,s,sw,s,se,se,ne,s,se,s,nw,s,se,s,se,se,s,s,nw,n,se,n,se,s,s,se,se,se,s,se,s,s,sw,s,s,nw,se,sw,s,sw,s,s,s,se,se,n,s,se,s,ne,s,s,se,s,se,se,s,nw,s,s,s,n,se,sw,s,s,se,ne,s,s,s,n,s,s,s,s,nw,s,s,s,n,s,se,s,s,s,se,s,s,s,s,s,n,s,s,se,se,s,ne,se,se,s,s,ne,s,s,s,se,se,se,nw,s,s,se,s,se,s,s,s,s,s,s,se,s,s,s,s,s,n,s,s,ne,n,s,s,s,s,n,n,ne,se,s,sw,s,s,s,s,s,s,s,ne,s,s,se,s,se,se,s,s,s,s,s,ne,s,s,sw,s,se,nw,s,s,sw,s,s,s,sw,s,s,s,s,s,se,nw,s,s,s,s,s,sw,s,s,s,s,sw,s,nw,ne,se,s,ne,s,s,s,nw,s,s,s,s,se,s,s,sw,s,s,s,s,s,s,s,se,s,sw,ne,s,s,s,s,sw,sw,sw,s,nw,s,ne,s,s,s,n,sw,sw,s,sw,sw,s,se,s,s,se,s,s,s,s,sw,s,s,sw,s,s,s,s,nw,sw,s,s,sw,s,s,se,nw,s,s,s,s,s,nw,s,sw,s,s,n,s,s,s,n,sw,se,s,se,s,se,s,s,sw,sw,n,sw,s,s,se,s,sw,sw,se,s,nw,s,sw,s,s,s,nw,s,s,s,s,sw,nw,sw,s,s,s,s,s,s,s,s,nw,s,sw,sw,sw,s,sw,n,s,sw,n,sw,s,sw,sw,s,s,s,sw,s,s,n,n,s,sw,s,sw,s,s,sw,nw,s,se,s,s,s,n,s,s,se,sw,s,s,sw,s,s,sw,s,sw,sw,s,s,s,sw,s,s,s,s,s,sw,sw,sw,se,n,s,sw,sw,sw,s,n,se,s,s,sw,s,s,sw,sw,se,se,sw,sw,sw,s,s,s,sw,s,sw,s,s,sw,sw,sw,se,s,sw,s,sw,sw,sw,se,sw,sw,sw,n,sw,sw,s,s,s,sw,s,sw,sw,s,sw,ne,s,sw,s,s,sw,s,s,n,sw,s,s,sw,se,s,s,n,sw,sw,s,s,s,s,sw,nw,se,sw,sw,sw,s,sw,s,sw,s,sw,s,sw,s,nw,s,s,sw,sw,s,s,sw,nw,ne,sw,sw,sw,sw,ne,s,s,sw,s,sw,sw,s,sw,sw,s,sw,sw,sw,sw,s,sw,ne,sw,sw,s,nw,sw,s,s,s,s,sw,sw,se,ne,nw,sw,sw,sw,s,s,se,s,s,sw,s,sw,sw,s,n,ne,sw,sw,s,sw,s,sw,s,sw,s,sw,sw,sw,sw,s,sw,s,sw,sw,s,nw,s,nw,s,sw,sw,sw,sw,s,sw,sw,s,sw,sw,s,se,s,sw,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,se,s,s,sw,sw,s,s,sw,sw,sw,s,sw,s,sw,sw,s,sw,sw,ne,sw,s,sw,s,sw,sw,sw,sw,s,sw,se,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,sw,s,sw,sw,sw,nw,sw,sw,sw,se,n,sw,sw,s,s,sw,sw,sw,s,sw,sw,sw,nw,sw,sw,nw,sw,sw,sw,sw,s,n,sw,s,sw,sw,sw,s,sw,se,sw,sw,sw,ne,sw,sw,sw,s,sw,sw,sw,n,sw,sw,s,sw,sw,s,sw,sw,s,se,sLine truncated
|
||||
@@ -0,0 +1,30 @@
|
||||
var input = require("fs").readFileSync("input.txt").toString().replace("\n", "");
|
||||
var dirs = input.split(",");
|
||||
|
||||
var replacements = [
|
||||
[["n", "s"], ""],
|
||||
[["ne", "sw"], ""],
|
||||
[["nw", "se"], ""],
|
||||
[["ne", "nw"], "n"],
|
||||
[["se", "sw"], "s"],
|
||||
[["ne", "s"], "se"],
|
||||
[["se", "n"], "ne"],
|
||||
[["sw", "n"], "nw"],
|
||||
[["nw", "s"], "sw"],
|
||||
];
|
||||
|
||||
var oldlength = 0;
|
||||
while(dirs.length != oldlength){
|
||||
oldlength = dirs.length;
|
||||
for(var replacement of replacements){
|
||||
if(dirs.indexOf(replacement[0][0]) > -1 && dirs.indexOf(replacement[0][1]) > -1){
|
||||
dirs.splice(dirs.indexOf(replacement[0][0]), 1);
|
||||
dirs.splice(dirs.indexOf(replacement[0][1]), 1);
|
||||
if(replacement[1]){
|
||||
dirs.push(replacement[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log(dirs.length);
|
||||
@@ -0,0 +1,41 @@
|
||||
var input = require("fs").readFileSync("input.txt").toString().replace("\n", "");
|
||||
var dirs = input.split(",");
|
||||
function simplify(dirs){
|
||||
var replacements = [
|
||||
[["n", "s"], ""],
|
||||
[["ne", "sw"], ""],
|
||||
[["nw", "se"], ""],
|
||||
[["ne", "nw"], "n"],
|
||||
[["se", "sw"], "s"],
|
||||
[["ne", "s"], "se"],
|
||||
[["se", "n"], "ne"],
|
||||
[["sw", "n"], "nw"],
|
||||
[["nw", "s"], "sw"],
|
||||
];
|
||||
var oldlength = 0;
|
||||
while(dirs.length != oldlength){
|
||||
oldlength = dirs.length;
|
||||
for(var replacement of replacements){
|
||||
if(dirs.indexOf(replacement[0][0]) > -1 && dirs.indexOf(replacement[0][1]) > -1){
|
||||
dirs.splice(dirs.indexOf(replacement[0][0]), 1);
|
||||
dirs.splice(dirs.indexOf(replacement[0][1]), 1);
|
||||
if(replacement[1]){
|
||||
dirs.push(replacement[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return dirs;
|
||||
}
|
||||
|
||||
var maxlen = 0;
|
||||
|
||||
for(var i = 0; i < dirs.length; i++){
|
||||
var sub = dirs.slice(0, i);
|
||||
var len = simplify(sub).length;
|
||||
if(len > maxlen){
|
||||
maxlen = len;
|
||||
}
|
||||
console.log(i/dirs.length);
|
||||
}
|
||||
console.log(maxlen);
|
||||
Reference in new issue
Block a user