adventofcode-2017/day12/part2.js

20 lines
651 B
JavaScript
Raw Normal View History

2017-12-16 12:12:56 +00:00
var input = require("fs").readFileSync("input.txt").toString();
var links = input.split("\n").filter((a)=>(a)).map((a)=>(a.split(" <-> ")[1].split(", ").map((b)=>(parseInt(b)))));
var allvisited = [];
function getconnected(x, items){
if(items.indexOf(x) == -1){
items.push(x);
links[x].forEach((a)=>(getconnected(a, items)));
}
return items;
}
var i = 0;
while(allvisited.length != Object.keys(links).length){
var start = Object.keys(links).map((a)=>(parseInt(a))).filter((a)=>(allvisited.indexOf(a) == -1))[0];
console.log(i, start);
var newgroup = getconnected(start, []);
allvisited = allvisited.concat(newgroup);
i++
}
console.log(i);