Skip to content

Commit 6a59966

Browse files
author
Seralius
committed
Who Said Bruteforcing isnt an viable Option? :)
1 parent 9faa9df commit 6a59966

File tree

3 files changed

+55
-30
lines changed

3 files changed

+55
-30
lines changed

Diff for: 17/Part1.js

-15
This file was deleted.

Diff for: 17/Part1and2.js

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
const fs = require('fs')
2+
3+
var Rawinput = fs.readFileSync("input.txt").toString('utf-8')
4+
input = Rawinput.split("\r\n");
5+
function Run() {
6+
var Area = input[0].match(/(?<=x=|y=).*?(?=,|$)/g)
7+
Area = {x: Area[0].split("..").map(Number), y: Area[1].split("..").map(Number)}
8+
var Start = { x: 0, y: 0 }
9+
var Highest = -Infinity
10+
var Amount = 0;
11+
for (let x = -500; x < 700; x++) {
12+
for (let y = -500; y < 700; y++) {
13+
var Pos = Move(Start, {x: x, y: y}, Area)
14+
if (Pos != undefined){
15+
Amount++;
16+
if (Pos > Highest) {
17+
Highest = Pos
18+
}
19+
}
20+
}
21+
22+
}
23+
console.log(Amount)
24+
}
25+
26+
function Move(Point, velocity, Area) {
27+
var HighestY = -Infinity
28+
var NewPoint = { x: Point.x, y: Point.y }
29+
var CheckSize = 4000
30+
var Step = 0;
31+
while (Step < CheckSize) {
32+
NewPoint = { x: NewPoint.x + velocity.x, y: NewPoint.y + velocity.y }
33+
if(HighestY < NewPoint.y) {
34+
HighestY = NewPoint.y
35+
}
36+
if (velocity.x != 0) {
37+
velocity.x = velocity.x < 0 ? velocity.x + 1 : velocity.x - 1
38+
}
39+
velocity.y = velocity.y - 1
40+
if (NewPoint.x >= Area.x[0] && NewPoint.x <= Area.x[1] && NewPoint.y >= Area.y[0] && NewPoint.y <= Area.y[1]) {
41+
return HighestY
42+
}
43+
Step++;
44+
}
45+
}
46+
47+
48+
module.exports = Run;
49+
//Start timer
50+
var startTime = new Date().getTime();
51+
Run();
52+
//End timer
53+
var endTime = new Date().getTime();
54+
var timeTaken = endTime - startTime;
55+
console.log("Time taken: " + timeTaken + "ms");

Diff for: 17/Part2.js

-15
This file was deleted.

0 commit comments

Comments
 (0)