d14
This commit is contained in:
51
day14/d14p1.swift
Normal file
51
day14/d14p1.swift
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
import Foundation
|
||||||
|
|
||||||
|
let (w, h) = (101, 103)
|
||||||
|
|
||||||
|
infix operator %%: MultiplicationPrecedence
|
||||||
|
func %%<T: BinaryInteger>(lhs: T, rhs: T) -> T {
|
||||||
|
return (lhs % rhs + rhs) % rhs
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Robot : CustomStringConvertible {
|
||||||
|
var (x, y): (Int, Int)
|
||||||
|
let (vx, vy): (Int, Int)
|
||||||
|
var description: String { return "p=(\(x), \(y)) v=(\(vx), \(vy))" }
|
||||||
|
|
||||||
|
mutating func move() {
|
||||||
|
x = (x + vx) %% w
|
||||||
|
y = (y + vy) %% h
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func readInput(_ filePath: String) throws -> [Robot] {
|
||||||
|
let robot = try Regex(#"p=([0-9]+),([0-9]+) v=([0-9-]+),([0-9-]+)"#)
|
||||||
|
var robots: [Robot] = []
|
||||||
|
let content = try String(contentsOfFile: filePath, encoding: .ascii)
|
||||||
|
content.split(separator: "\n").forEach { line in
|
||||||
|
if let m = line.wholeMatch(of: robot) {
|
||||||
|
robots.append(Robot(
|
||||||
|
x: Int(m.output[1].substring!)!,
|
||||||
|
y: Int(m.output[2].substring!)!,
|
||||||
|
vx: Int(m.output[3].substring!)!,
|
||||||
|
vy: Int(m.output[4].substring!)!
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return robots
|
||||||
|
}
|
||||||
|
|
||||||
|
var robots = try readInput(CommandLine.arguments[1])
|
||||||
|
for _ in 0..<100 {
|
||||||
|
for i in 0..<robots.count {
|
||||||
|
robots[i].move()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var (ul, ur, ll, lr) = (0, 0, 0, 0)
|
||||||
|
for robot in robots {
|
||||||
|
if robot.x < w/2 && robot.y < h/2 { ul += 1 }
|
||||||
|
if robot.x > w/2 && robot.y < h/2 { ur += 1 }
|
||||||
|
if robot.x < w/2 && robot.y > h/2 { ll += 1 }
|
||||||
|
if robot.x > w/2 && robot.y > h/2 { lr += 1 }
|
||||||
|
}
|
||||||
|
print("\(ul) x \(ur) x \(ll) x \(lr) = \(ul * ur * ll * lr)")
|
77
day14/d14p2.swift
Normal file
77
day14/d14p2.swift
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
import Foundation
|
||||||
|
|
||||||
|
let (w, h) = (101, 103)
|
||||||
|
|
||||||
|
infix operator %%: MultiplicationPrecedence
|
||||||
|
func %%<T: BinaryInteger>(lhs: T, rhs: T) -> T {
|
||||||
|
return (lhs % rhs + rhs) % rhs
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Robot : CustomStringConvertible {
|
||||||
|
var (x, y): (Int, Int)
|
||||||
|
let (vx, vy): (Int, Int)
|
||||||
|
var description: String { return "p=(\(x), \(y)) v=(\(vx), \(vy))" }
|
||||||
|
|
||||||
|
mutating func move() {
|
||||||
|
x = (x + vx) %% w
|
||||||
|
y = (y + vy) %% h
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func readInput(_ filePath: String) throws -> [Robot] {
|
||||||
|
let robot = try Regex(#"p=([0-9]+),([0-9]+) v=([0-9-]+),([0-9-]+)"#)
|
||||||
|
var robots: [Robot] = []
|
||||||
|
let content = try String(contentsOfFile: filePath, encoding: .ascii)
|
||||||
|
content.split(separator: "\n").forEach { line in
|
||||||
|
if let m = line.wholeMatch(of: robot) {
|
||||||
|
robots.append(Robot(
|
||||||
|
x: Int(m.output[1].substring!)!,
|
||||||
|
y: Int(m.output[2].substring!)!,
|
||||||
|
vx: Int(m.output[3].substring!)!,
|
||||||
|
vy: Int(m.output[4].substring!)!
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return robots
|
||||||
|
}
|
||||||
|
|
||||||
|
func rle(input: String) -> [(Int, Character)] {
|
||||||
|
return input.reduce([(Int, Character)]()) {
|
||||||
|
if $0.last?.1 == $1 { var r = $0; r[r.count - 1].0 += 1; return r }
|
||||||
|
return $0 + [(1, $1)]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func complexity(_ input: String) -> Int {
|
||||||
|
var last: Character = " "
|
||||||
|
var changes = 0
|
||||||
|
for c in input {
|
||||||
|
if c != last {
|
||||||
|
last = c
|
||||||
|
changes += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return changes
|
||||||
|
}
|
||||||
|
|
||||||
|
func printRobots(_ robots: [Robot]) -> String {
|
||||||
|
var screen: [[String]] = Array(repeating: Array(repeating: " ", count: 101), count: 103)
|
||||||
|
robots.forEach { robot in screen[robot.y][robot.x] = "█" }
|
||||||
|
return screen.map { row in row.joined() }.joined(separator: "\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
var bots = try readInput(CommandLine.arguments[1])
|
||||||
|
var i = 0
|
||||||
|
while true {
|
||||||
|
i += 1
|
||||||
|
for i in 0..<bots.count {
|
||||||
|
bots[i].move()
|
||||||
|
}
|
||||||
|
let printout = printRobots(bots)
|
||||||
|
let cpx = complexity(printout)
|
||||||
|
if cpx < 1000 {
|
||||||
|
print("i=\(i) rle=\(cpx)")
|
||||||
|
print(printout)
|
||||||
|
sleep(1)
|
||||||
|
}
|
||||||
|
}
|
500
day14/input.txt
Normal file
500
day14/input.txt
Normal file
@@ -0,0 +1,500 @@
|
|||||||
|
p=70,7 v=75,-38
|
||||||
|
p=67,47 v=92,-45
|
||||||
|
p=91,51 v=23,10
|
||||||
|
p=55,16 v=69,6
|
||||||
|
p=76,64 v=-29,65
|
||||||
|
p=89,18 v=-45,64
|
||||||
|
p=18,90 v=70,61
|
||||||
|
p=61,97 v=-53,-82
|
||||||
|
p=71,38 v=-20,-55
|
||||||
|
p=15,72 v=-10,-64
|
||||||
|
p=53,77 v=-99,98
|
||||||
|
p=58,99 v=-74,-58
|
||||||
|
p=49,54 v=2,-85
|
||||||
|
p=33,23 v=-84,-70
|
||||||
|
p=10,36 v=5,-70
|
||||||
|
p=100,64 v=-79,18
|
||||||
|
p=85,52 v=54,-89
|
||||||
|
p=88,76 v=-45,-81
|
||||||
|
p=37,98 v=76,-55
|
||||||
|
p=58,97 v=6,43
|
||||||
|
p=24,10 v=30,-87
|
||||||
|
p=12,73 v=-94,-87
|
||||||
|
p=40,31 v=-60,-48
|
||||||
|
p=56,32 v=-69,-18
|
||||||
|
p=71,86 v=-47,16
|
||||||
|
p=0,45 v=60,-27
|
||||||
|
p=79,52 v=14,13
|
||||||
|
p=53,97 v=-53,-64
|
||||||
|
p=90,100 v=16,-42
|
||||||
|
p=23,93 v=-50,57
|
||||||
|
p=41,67 v=-23,-36
|
||||||
|
p=69,1 v=-76,-42
|
||||||
|
p=35,30 v=-44,-81
|
||||||
|
p=52,77 v=80,-95
|
||||||
|
p=4,85 v=-73,-78
|
||||||
|
p=83,15 v=-68,-43
|
||||||
|
p=58,55 v=-52,95
|
||||||
|
p=23,70 v=24,-37
|
||||||
|
p=7,81 v=62,35
|
||||||
|
p=6,100 v=-56,-78
|
||||||
|
p=87,60 v=-45,-31
|
||||||
|
p=28,22 v=91,-79
|
||||||
|
p=68,18 v=-47,-29
|
||||||
|
p=6,79 v=98,89
|
||||||
|
p=56,60 v=-44,19
|
||||||
|
p=85,74 v=81,-41
|
||||||
|
p=12,65 v=83,-94
|
||||||
|
p=70,19 v=29,66
|
||||||
|
p=36,64 v=-63,90
|
||||||
|
p=79,34 v=12,-93
|
||||||
|
p=19,86 v=95,-15
|
||||||
|
p=45,21 v=21,96
|
||||||
|
p=2,32 v=-13,72
|
||||||
|
p=28,52 v=1,-14
|
||||||
|
p=26,57 v=13,-85
|
||||||
|
p=39,5 v=72,3
|
||||||
|
p=17,84 v=-35,-59
|
||||||
|
p=87,42 v=-63,38
|
||||||
|
p=97,50 v=90,63
|
||||||
|
p=23,23 v=-92,46
|
||||||
|
p=28,60 v=-69,-99
|
||||||
|
p=84,24 v=56,42
|
||||||
|
p=28,83 v=-18,69
|
||||||
|
p=14,79 v=-81,-83
|
||||||
|
p=70,3 v=-13,-76
|
||||||
|
p=14,62 v=47,-54
|
||||||
|
p=14,11 v=-46,25
|
||||||
|
p=21,87 v=68,12
|
||||||
|
p=91,93 v=-62,-68
|
||||||
|
p=87,61 v=16,31
|
||||||
|
p=92,53 v=54,-17
|
||||||
|
p=50,54 v=42,76
|
||||||
|
p=57,91 v=11,20
|
||||||
|
p=65,20 v=24,39
|
||||||
|
p=67,32 v=37,-69
|
||||||
|
p=20,43 v=9,54
|
||||||
|
p=69,32 v=10,-75
|
||||||
|
p=20,47 v=-92,-31
|
||||||
|
p=53,30 v=-17,-97
|
||||||
|
p=1,82 v=-98,53
|
||||||
|
p=46,54 v=47,-46
|
||||||
|
p=70,4 v=-36,-60
|
||||||
|
p=59,18 v=42,-16
|
||||||
|
p=62,14 v=-36,11
|
||||||
|
p=84,31 v=54,-93
|
||||||
|
p=9,70 v=-22,-27
|
||||||
|
p=5,26 v=-87,-98
|
||||||
|
p=89,46 v=-16,-9
|
||||||
|
p=98,6 v=-1,-92
|
||||||
|
p=75,8 v=75,-24
|
||||||
|
p=90,83 v=71,-24
|
||||||
|
p=47,6 v=95,97
|
||||||
|
p=20,35 v=-71,59
|
||||||
|
p=60,18 v=63,-70
|
||||||
|
p=98,35 v=43,-40
|
||||||
|
p=97,91 v=39,61
|
||||||
|
p=5,79 v=84,-20
|
||||||
|
p=90,61 v=16,-63
|
||||||
|
p=93,66 v=37,80
|
||||||
|
p=41,20 v=-86,60
|
||||||
|
p=81,49 v=-87,19
|
||||||
|
p=76,79 v=-67,28
|
||||||
|
p=84,4 v=-66,47
|
||||||
|
p=7,69 v=-43,93
|
||||||
|
p=60,46 v=26,-91
|
||||||
|
p=12,101 v=66,79
|
||||||
|
p=15,15 v=-15,-37
|
||||||
|
p=6,80 v=-20,-54
|
||||||
|
p=38,87 v=-59,-95
|
||||||
|
p=0,5 v=62,83
|
||||||
|
p=38,95 v=76,-37
|
||||||
|
p=34,7 v=-86,88
|
||||||
|
p=45,18 v=-63,69
|
||||||
|
p=14,24 v=-27,-97
|
||||||
|
p=38,40 v=74,-62
|
||||||
|
p=94,48 v=32,24
|
||||||
|
p=27,6 v=11,78
|
||||||
|
p=52,11 v=-7,-8
|
||||||
|
p=67,30 v=-93,-98
|
||||||
|
p=49,82 v=-95,-51
|
||||||
|
p=67,40 v=-57,-45
|
||||||
|
p=61,63 v=48,9
|
||||||
|
p=93,34 v=64,-44
|
||||||
|
p=10,86 v=-50,62
|
||||||
|
p=12,26 v=45,-88
|
||||||
|
p=32,29 v=-33,-30
|
||||||
|
p=19,83 v=-18,-77
|
||||||
|
p=97,73 v=-20,44
|
||||||
|
p=40,29 v=99,-75
|
||||||
|
p=21,63 v=-31,67
|
||||||
|
p=77,81 v=98,77
|
||||||
|
p=19,25 v=28,82
|
||||||
|
p=10,86 v=67,-12
|
||||||
|
p=11,93 v=48,-25
|
||||||
|
p=66,20 v=-13,24
|
||||||
|
p=15,51 v=-75,-89
|
||||||
|
p=82,31 v=-82,-75
|
||||||
|
p=100,28 v=1,-30
|
||||||
|
p=52,50 v=-42,-71
|
||||||
|
p=22,74 v=-37,-19
|
||||||
|
p=32,26 v=-23,-52
|
||||||
|
p=13,75 v=-81,62
|
||||||
|
p=71,92 v=10,-73
|
||||||
|
p=18,54 v=-67,32
|
||||||
|
p=46,54 v=-20,-21
|
||||||
|
p=79,102 v=-21,-78
|
||||||
|
p=58,37 v=-81,51
|
||||||
|
p=33,93 v=72,3
|
||||||
|
p=87,60 v=3,-7
|
||||||
|
p=32,6 v=97,10
|
||||||
|
p=25,81 v=11,-55
|
||||||
|
p=63,28 v=88,73
|
||||||
|
p=32,30 v=-63,5
|
||||||
|
p=51,95 v=61,7
|
||||||
|
p=54,52 v=-78,-67
|
||||||
|
p=90,86 v=71,-95
|
||||||
|
p=6,50 v=-3,99
|
||||||
|
p=89,16 v=7,66
|
||||||
|
p=90,91 v=66,-39
|
||||||
|
p=44,6 v=78,65
|
||||||
|
p=30,54 v=32,67
|
||||||
|
p=69,34 v=-11,-75
|
||||||
|
p=49,10 v=59,-7
|
||||||
|
p=88,23 v=75,-52
|
||||||
|
p=51,72 v=-59,80
|
||||||
|
p=28,100 v=-29,-25
|
||||||
|
p=34,35 v=15,28
|
||||||
|
p=57,18 v=-57,10
|
||||||
|
p=53,21 v=23,33
|
||||||
|
p=70,70 v=-13,-68
|
||||||
|
p=74,49 v=-99,-2
|
||||||
|
p=2,46 v=47,-57
|
||||||
|
p=75,48 v=65,-49
|
||||||
|
p=17,95 v=-39,-79
|
||||||
|
p=68,68 v=51,52
|
||||||
|
p=25,66 v=-32,-85
|
||||||
|
p=100,63 v=-41,58
|
||||||
|
p=21,30 v=-33,-21
|
||||||
|
p=31,65 v=-69,-81
|
||||||
|
p=40,12 v=3,75
|
||||||
|
p=90,41 v=-30,-13
|
||||||
|
p=60,53 v=65,90
|
||||||
|
p=80,44 v=35,-26
|
||||||
|
p=26,21 v=-12,-52
|
||||||
|
p=28,56 v=-48,49
|
||||||
|
p=12,43 v=42,-56
|
||||||
|
p=71,13 v=-34,38
|
||||||
|
p=27,61 v=-50,-58
|
||||||
|
p=95,89 v=-24,-83
|
||||||
|
p=10,8 v=26,-2
|
||||||
|
p=14,6 v=-43,-84
|
||||||
|
p=31,44 v=34,95
|
||||||
|
p=40,14 v=70,-26
|
||||||
|
p=94,54 v=-62,-22
|
||||||
|
p=100,97 v=3,-15
|
||||||
|
p=8,95 v=61,-62
|
||||||
|
p=25,13 v=-50,-44
|
||||||
|
p=88,38 v=-62,15
|
||||||
|
p=7,15 v=62,20
|
||||||
|
p=49,92 v=82,-33
|
||||||
|
p=15,58 v=41,-99
|
||||||
|
p=26,75 v=17,-28
|
||||||
|
p=62,38 v=-38,46
|
||||||
|
p=86,59 v=10,-50
|
||||||
|
p=11,91 v=-58,75
|
||||||
|
p=94,98 v=79,-38
|
||||||
|
p=43,54 v=-3,-71
|
||||||
|
p=85,32 v=12,90
|
||||||
|
p=31,22 v=-48,74
|
||||||
|
p=96,70 v=56,49
|
||||||
|
p=34,33 v=-15,-35
|
||||||
|
p=3,38 v=-18,1
|
||||||
|
p=18,18 v=68,-11
|
||||||
|
p=58,42 v=42,-21
|
||||||
|
p=55,30 v=60,42
|
||||||
|
p=36,91 v=72,-28
|
||||||
|
p=31,9 v=55,-38
|
||||||
|
p=87,92 v=-4,20
|
||||||
|
p=88,70 v=56,-36
|
||||||
|
p=84,56 v=-97,29
|
||||||
|
p=83,29 v=70,-23
|
||||||
|
p=74,54 v=-32,-22
|
||||||
|
p=50,92 v=-92,22
|
||||||
|
p=33,85 v=34,-77
|
||||||
|
p=20,92 v=28,-38
|
||||||
|
p=32,51 v=68,-26
|
||||||
|
p=4,90 v=76,-27
|
||||||
|
p=55,93 v=-58,-4
|
||||||
|
p=89,44 v=95,2
|
||||||
|
p=92,85 v=-65,7
|
||||||
|
p=67,44 v=-23,66
|
||||||
|
p=55,33 v=93,-5
|
||||||
|
p=60,78 v=71,30
|
||||||
|
p=82,0 v=73,-38
|
||||||
|
p=67,80 v=88,12
|
||||||
|
p=98,59 v=87,-33
|
||||||
|
p=22,27 v=-37,19
|
||||||
|
p=70,70 v=-9,13
|
||||||
|
p=13,10 v=-98,88
|
||||||
|
p=84,29 v=77,-63
|
||||||
|
p=6,10 v=9,-42
|
||||||
|
p=25,94 v=-90,3
|
||||||
|
p=64,77 v=48,89
|
||||||
|
p=58,3 v=6,43
|
||||||
|
p=7,30 v=-43,-98
|
||||||
|
p=42,42 v=90,-33
|
||||||
|
p=8,82 v=-71,3
|
||||||
|
p=18,94 v=30,12
|
||||||
|
p=92,40 v=-23,49
|
||||||
|
p=54,13 v=2,11
|
||||||
|
p=47,64 v=-15,4
|
||||||
|
p=41,52 v=-23,5
|
||||||
|
p=52,40 v=61,32
|
||||||
|
p=12,43 v=-35,72
|
||||||
|
p=32,23 v=80,38
|
||||||
|
p=70,57 v=88,67
|
||||||
|
p=56,28 v=-97,55
|
||||||
|
p=31,50 v=-94,-18
|
||||||
|
p=80,44 v=43,18
|
||||||
|
p=69,100 v=27,34
|
||||||
|
p=77,38 v=94,-75
|
||||||
|
p=54,49 v=-54,62
|
||||||
|
p=51,62 v=82,-99
|
||||||
|
p=81,4 v=20,98
|
||||||
|
p=13,54 v=-37,39
|
||||||
|
p=95,28 v=-16,6
|
||||||
|
p=54,9 v=-37,-42
|
||||||
|
p=5,13 v=-58,-20
|
||||||
|
p=17,79 v=70,-10
|
||||||
|
p=12,0 v=85,-78
|
||||||
|
p=42,0 v=69,35
|
||||||
|
p=85,18 v=89,38
|
||||||
|
p=59,14 v=50,-78
|
||||||
|
p=23,41 v=-10,5
|
||||||
|
p=48,1 v=21,83
|
||||||
|
p=29,59 v=-65,-40
|
||||||
|
p=84,10 v=43,10
|
||||||
|
p=89,90 v=22,3
|
||||||
|
p=46,31 v=-63,-3
|
||||||
|
p=47,63 v=-61,27
|
||||||
|
p=90,11 v=75,-38
|
||||||
|
p=98,91 v=98,58
|
||||||
|
p=85,79 v=-87,-50
|
||||||
|
p=0,73 v=-39,93
|
||||||
|
p=41,47 v=-4,-40
|
||||||
|
p=5,60 v=-33,-80
|
||||||
|
p=23,49 v=35,-77
|
||||||
|
p=92,95 v=-23,-31
|
||||||
|
p=74,83 v=71,-23
|
||||||
|
p=70,88 v=31,84
|
||||||
|
p=91,64 v=24,-27
|
||||||
|
p=34,92 v=-25,-38
|
||||||
|
p=88,50 v=76,30
|
||||||
|
p=43,29 v=-69,-71
|
||||||
|
p=39,76 v=59,-35
|
||||||
|
p=96,85 v=-85,8
|
||||||
|
p=78,21 v=-68,78
|
||||||
|
p=51,15 v=-85,14
|
||||||
|
p=68,32 v=8,-39
|
||||||
|
p=41,62 v=36,-27
|
||||||
|
p=23,37 v=-65,-30
|
||||||
|
p=24,23 v=-12,-35
|
||||||
|
p=43,5 v=-65,-78
|
||||||
|
p=11,37 v=99,-81
|
||||||
|
p=97,100 v=16,-7
|
||||||
|
p=18,55 v=-56,54
|
||||||
|
p=81,35 v=-28,55
|
||||||
|
p=11,14 v=5,-43
|
||||||
|
p=95,25 v=-24,-12
|
||||||
|
p=9,72 v=43,-5
|
||||||
|
p=7,60 v=-14,-16
|
||||||
|
p=87,75 v=35,-90
|
||||||
|
p=18,50 v=91,81
|
||||||
|
p=91,98 v=-70,83
|
||||||
|
p=70,65 v=-26,-95
|
||||||
|
p=35,45 v=1,-72
|
||||||
|
p=49,45 v=78,68
|
||||||
|
p=87,69 v=-11,-76
|
||||||
|
p=23,71 v=-31,26
|
||||||
|
p=26,84 v=-31,44
|
||||||
|
p=62,68 v=44,14
|
||||||
|
p=13,46 v=-18,-52
|
||||||
|
p=98,11 v=79,52
|
||||||
|
p=12,55 v=47,63
|
||||||
|
p=25,59 v=-44,45
|
||||||
|
p=30,90 v=-63,83
|
||||||
|
p=5,79 v=-96,-24
|
||||||
|
p=6,97 v=-6,92
|
||||||
|
p=79,39 v=-75,-66
|
||||||
|
p=57,30 v=-1,94
|
||||||
|
p=29,31 v=91,46
|
||||||
|
p=23,83 v=-13,-79
|
||||||
|
p=72,6 v=25,97
|
||||||
|
p=21,43 v=-48,73
|
||||||
|
p=4,35 v=-58,40
|
||||||
|
p=67,83 v=-19,-81
|
||||||
|
p=9,22 v=76,-71
|
||||||
|
p=93,73 v=-28,-15
|
||||||
|
p=15,23 v=-73,78
|
||||||
|
p=66,12 v=-68,-3
|
||||||
|
p=77,80 v=65,-58
|
||||||
|
p=45,63 v=17,49
|
||||||
|
p=44,31 v=99,1
|
||||||
|
p=6,17 v=66,78
|
||||||
|
p=17,86 v=-52,-15
|
||||||
|
p=77,69 v=12,-32
|
||||||
|
p=36,45 v=-9,72
|
||||||
|
p=5,93 v=24,-64
|
||||||
|
p=10,96 v=60,-74
|
||||||
|
p=29,49 v=30,50
|
||||||
|
p=7,18 v=64,6
|
||||||
|
p=64,69 v=63,-37
|
||||||
|
p=14,5 v=81,-38
|
||||||
|
p=66,70 v=27,80
|
||||||
|
p=98,66 v=-81,31
|
||||||
|
p=12,84 v=-29,-19
|
||||||
|
p=86,34 v=29,-17
|
||||||
|
p=51,62 v=-78,-94
|
||||||
|
p=73,84 v=77,-79
|
||||||
|
p=41,49 v=-65,-49
|
||||||
|
p=24,12 v=-4,-25
|
||||||
|
p=88,76 v=-24,80
|
||||||
|
p=77,97 v=92,-96
|
||||||
|
p=0,9 v=-1,-34
|
||||||
|
p=57,101 v=28,-29
|
||||||
|
p=38,39 v=95,50
|
||||||
|
p=78,71 v=-43,75
|
||||||
|
p=51,15 v=47,-52
|
||||||
|
p=33,48 v=-2,-75
|
||||||
|
p=83,52 v=96,-31
|
||||||
|
p=37,48 v=70,45
|
||||||
|
p=99,64 v=-41,-9
|
||||||
|
p=97,68 v=-45,-18
|
||||||
|
p=97,93 v=58,21
|
||||||
|
p=21,76 v=-7,-82
|
||||||
|
p=100,24 v=-24,-65
|
||||||
|
p=14,98 v=-67,-5
|
||||||
|
p=18,14 v=22,-25
|
||||||
|
p=95,81 v=53,-99
|
||||||
|
p=3,12 v=-21,-93
|
||||||
|
p=17,21 v=68,86
|
||||||
|
p=77,91 v=-68,97
|
||||||
|
p=55,99 v=42,65
|
||||||
|
p=47,41 v=99,-89
|
||||||
|
p=57,13 v=-99,47
|
||||||
|
p=57,81 v=-76,66
|
||||||
|
p=73,84 v=-13,93
|
||||||
|
p=54,96 v=25,12
|
||||||
|
p=76,57 v=-68,27
|
||||||
|
p=65,2 v=-55,30
|
||||||
|
p=13,81 v=32,13
|
||||||
|
p=11,9 v=5,-47
|
||||||
|
p=40,41 v=55,-35
|
||||||
|
p=91,26 v=-5,-70
|
||||||
|
p=62,42 v=80,-30
|
||||||
|
p=54,26 v=44,20
|
||||||
|
p=17,92 v=7,84
|
||||||
|
p=97,10 v=-43,-20
|
||||||
|
p=61,68 v=-93,-27
|
||||||
|
p=5,76 v=-36,59
|
||||||
|
p=22,4 v=91,25
|
||||||
|
p=52,95 v=82,-11
|
||||||
|
p=17,78 v=33,20
|
||||||
|
p=63,20 v=82,-82
|
||||||
|
p=11,42 v=11,-98
|
||||||
|
p=75,5 v=8,-87
|
||||||
|
p=8,35 v=-39,-64
|
||||||
|
p=34,87 v=-29,-96
|
||||||
|
p=72,45 v=89,-60
|
||||||
|
p=73,67 v=-93,84
|
||||||
|
p=2,22 v=62,56
|
||||||
|
p=2,69 v=68,33
|
||||||
|
p=77,46 v=25,-90
|
||||||
|
p=77,39 v=40,10
|
||||||
|
p=82,35 v=-11,-24
|
||||||
|
p=10,11 v=87,-30
|
||||||
|
p=11,7 v=-48,47
|
||||||
|
p=47,37 v=-31,-69
|
||||||
|
p=87,21 v=35,-79
|
||||||
|
p=73,21 v=-33,86
|
||||||
|
p=18,69 v=2,-8
|
||||||
|
p=71,25 v=67,-88
|
||||||
|
p=64,84 v=-78,13
|
||||||
|
p=6,25 v=-43,50
|
||||||
|
p=8,36 v=47,64
|
||||||
|
p=56,2 v=-95,-42
|
||||||
|
p=19,92 v=-18,88
|
||||||
|
p=31,89 v=-27,97
|
||||||
|
p=35,55 v=-68,78
|
||||||
|
p=11,45 v=49,66
|
||||||
|
p=34,63 v=-44,94
|
||||||
|
p=38,49 v=-86,-31
|
||||||
|
p=37,0 v=30,48
|
||||||
|
p=88,38 v=50,-30
|
||||||
|
p=0,45 v=-41,-98
|
||||||
|
p=71,57 v=25,-32
|
||||||
|
p=50,51 v=-17,-81
|
||||||
|
p=75,62 v=-9,-26
|
||||||
|
p=62,3 v=80,-87
|
||||||
|
p=48,91 v=3,-71
|
||||||
|
p=42,20 v=45,25
|
||||||
|
p=2,78 v=98,88
|
||||||
|
p=59,28 v=-91,55
|
||||||
|
p=48,91 v=-61,43
|
||||||
|
p=73,56 v=72,85
|
||||||
|
p=6,49 v=22,-98
|
||||||
|
p=4,42 v=-98,-71
|
||||||
|
p=23,10 v=-27,-20
|
||||||
|
p=87,96 v=-36,37
|
||||||
|
p=31,102 v=-48,25
|
||||||
|
p=67,46 v=50,-68
|
||||||
|
p=51,93 v=23,-37
|
||||||
|
p=13,45 v=-35,76
|
||||||
|
p=75,22 v=99,-92
|
||||||
|
p=17,87 v=80,-19
|
||||||
|
p=42,94 v=-2,-69
|
||||||
|
p=31,78 v=34,66
|
||||||
|
p=14,60 v=19,24
|
||||||
|
p=34,7 v=55,-25
|
||||||
|
p=14,76 v=89,-23
|
||||||
|
p=80,46 v=67,95
|
||||||
|
p=38,80 v=-52,58
|
||||||
|
p=32,88 v=-88,-82
|
||||||
|
p=60,82 v=-97,-41
|
||||||
|
p=74,41 v=-44,-49
|
||||||
|
p=89,11 v=35,-61
|
||||||
|
p=40,81 v=57,-10
|
||||||
|
p=62,30 v=65,91
|
||||||
|
p=74,40 v=4,64
|
||||||
|
p=93,32 v=-5,69
|
||||||
|
p=8,38 v=-58,10
|
||||||
|
p=31,38 v=-66,89
|
||||||
|
p=28,42 v=38,-26
|
||||||
|
p=97,52 v=-20,-49
|
||||||
|
p=83,51 v=-67,-52
|
||||||
|
p=45,32 v=-84,-34
|
||||||
|
p=61,80 v=-13,-68
|
||||||
|
p=6,78 v=62,26
|
||||||
|
p=89,102 v=-85,25
|
||||||
|
p=24,78 v=54,-75
|
||||||
|
p=50,23 v=31,88
|
||||||
|
p=2,59 v=56,54
|
||||||
|
p=86,21 v=98,-38
|
||||||
|
p=98,90 v=-64,-64
|
||||||
|
p=22,23 v=-25,86
|
||||||
|
p=88,99 v=96,-42
|
||||||
|
p=17,40 v=85,26
|
||||||
|
p=42,13 v=-23,-74
|
||||||
|
p=14,90 v=95,11
|
||||||
|
p=47,45 v=-61,95
|
||||||
|
p=49,21 v=-59,24
|
||||||
|
p=65,86 v=86,-77
|
||||||
|
p=75,30 v=90,13
|
||||||
|
p=46,83 v=-99,35
|
||||||
|
p=90,38 v=-52,-84
|
||||||
|
p=8,42 v=-14,34
|
||||||
|
p=27,73 v=-23,40
|
||||||
|
p=17,3 v=9,-96
|
||||||
|
p=87,47 v=1,-80
|
||||||
|
p=43,58 v=81,-1
|
12
day14/test.txt
Normal file
12
day14/test.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
p=0,4 v=3,-3
|
||||||
|
p=6,3 v=-1,-3
|
||||||
|
p=10,3 v=-1,2
|
||||||
|
p=2,0 v=2,-1
|
||||||
|
p=0,0 v=1,3
|
||||||
|
p=3,0 v=-2,-2
|
||||||
|
p=7,6 v=-1,-3
|
||||||
|
p=3,0 v=-1,-2
|
||||||
|
p=9,3 v=2,3
|
||||||
|
p=7,3 v=-1,2
|
||||||
|
p=2,4 v=2,-3
|
||||||
|
p=9,5 v=-3,-3
|
Reference in New Issue
Block a user