adventofcode-2016/day19/part2_2.js
2016-12-20 22:03:04 +00:00

31 lines
517 B
JavaScript

var input = 10000;
var elves = [];
for(var i = 0; i < input; i++){
elves[i] = true;
}
var i = 0;
var count = elves.length;
while(count > 1){
if(!(count%1000)) console.log(count)
var toRemoveAhead = Math.floor(count/2);
var pos = i;
var passed = 0;
while(passed < toRemoveAhead){
pos = (pos + 1)%(elves.length);
if(elves[pos]){
passed++;
}
}
elves[pos] = false;
count--;
i = (i+1)%(elves.length);
while(elves[i] == false){
i = (i+1)%(elves.length);
}
}
console.log(elves.indexOf(true) + 1);