adventofcode-2018/06/part2.js

27 lines
779 B
JavaScript
Raw Permalink Normal View History

2018-12-08 20:34:24 +00:00
var input = require("fs").readFileSync("input.txt").toString();
var points = input.split("\n").filter(a=>a).map(a=>(a.split(",").map(b=>(parseInt(b)))));
var xmin = points.map(a=>(a[0])).sort((a,b)=>(a-b))[0];
var xmax = points.map(a=>(a[0])).sort((a,b)=>(b-a))[0];
var ymin = points.map(a=>(a[1])).sort((a,b)=>(a-b))[0];
var ymax = points.map(a=>(a[1])).sort((a,b)=>(b-a))[0];
var areas = {};
var count = 0;
var man = (xa, ya, xb, yb)=>(Math.abs(xa - xb) + Math.abs(ya - yb));
for(var x = xmin; x <= xmax; x++){
for(var y = ymin; y <= ymax; y++){
var dist = points.map(p=>(man(p[0], p[1], x, y))).reduce((a,b)=>(a+b));
//var dists = points.map(p=>(man(p[0], p[1], x, y)));
//console.log(x,y,dists,dist);
if(dist < 10000){
count++;
}
}
}
console.log(count);