var grid = require("fs").readFileSync("input.txt").toString().split("\n").filter(a=>(a)).reverse().map(a=>(a.split(""))); var dirs = [[0, 1], [1, 0], [0, -1], [-1, 0]]; var dir = 0; var x = Math.floor(grid.length/2); var y = Math.floor(grid.length/2); var numInfected = 0; for(var i = 0; i < 10000; i++){ var clean = true; if(grid[y]){ if(grid[y][x] == "#"){ clean = false; } } else{ grid[y] = []; } if(clean){ grid[y][x] = "#"; numInfected++; dir--; } else{ grid[y][x] = "."; dir++; } dir = (dir+4)%4; x += dirs[dir][0]; y += dirs[dir][1]; } console.log(numInfected);