From b0222f3f42914bce205332509888b43d76809269 Mon Sep 17 00:00:00 2001 From: Soren Date: Sun, 25 Nov 2018 14:09:46 -0800 Subject: [PATCH] Format --- aoc/src/main/scala/aoc/y2017/Day03.scala | 12 ++++++++---- aoc/src/main/scala/aoc/y2017/Day07.scala | 11 ++++++----- aoc/src/main/scala/aoc/y2017/Day08.scala | 7 ++++++- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/aoc/src/main/scala/aoc/y2017/Day03.scala b/aoc/src/main/scala/aoc/y2017/Day03.scala index 13b0591..b0cfc02 100644 --- a/aoc/src/main/scala/aoc/y2017/Day03.scala +++ b/aoc/src/main/scala/aoc/y2017/Day03.scala @@ -40,9 +40,13 @@ object Day03 extends Day { } def sumOfSurrounding(p: (Int, Int), m: Map[(Int, Int), Int]): Int = { val surrounding = List( - (-1, 1), ( 0, 1), ( 1, 1), - (-1, 0), /* */ ( 1, 0), - (-1, -1), ( 0, -1), ( 1, -1) + (-1, 1), + (0, 1), + (1, 1), + (-1, 0), /* */ (1, 0), + (-1, -1), + (0, -1), + (1, -1) ) surrounding.map(o => m.getOrElse(p + o, 0)).sum } @@ -58,7 +62,7 @@ object Day03 extends Day { val np = p + nd.change val sum = sumOfSurrounding(np, m) val nm = m + (np -> sum) - if(sum > targetNum) { + if (sum > targetNum) { sum } else { findNext(nm, np, i) diff --git a/aoc/src/main/scala/aoc/y2017/Day07.scala b/aoc/src/main/scala/aoc/y2017/Day07.scala index 8ead48a..09b792b 100644 --- a/aoc/src/main/scala/aoc/y2017/Day07.scala +++ b/aoc/src/main/scala/aoc/y2017/Day07.scala @@ -24,9 +24,10 @@ object Day07 extends Day { def childrenParser[_: P]: P[List[String]] = P(("->" ~ CharIn("a-z").rep(1).!.rep(1, ",")).?).map(_.fold(List[String]())(_.toList)) - def towerParser[_: P]: P[TowerRef] = P(CharIn("a-z").rep(1).! ~ "(" ~ CharIn("0-9").rep(1).! ~ ")" ~ childrenParser).map { - case (name, weight, children) => TowerRef(name, weight.toInt, children) - } + def towerParser[_: P]: P[TowerRef] = + P(CharIn("a-z").rep(1).! ~ "(" ~ CharIn("0-9").rep(1).! ~ ")" ~ childrenParser).map { + case (name, weight, children) => TowerRef(name, weight.toInt, children) + } def towerListParser[_: P]: P[List[TowerRef]] = towerParser.rep(1, "\n").map(_.toList) @@ -46,10 +47,10 @@ object Day07 extends Day { val lowestT = lowest(trs) val resolved = lowestT.resolve(trs) def searchForUnevenness(tower: Tower): List[Int] = { - if(tower.childWeights.distinct.size == 1) { + if (tower.childWeights.distinct.size == 1) { tower.children.flatMap(searchForUnevenness) } else { - if(tower.childWeights.isEmpty) { + if (tower.childWeights.isEmpty) { List() } else { val ds = tower.childWeights.distinct diff --git a/aoc/src/main/scala/aoc/y2017/Day08.scala b/aoc/src/main/scala/aoc/y2017/Day08.scala index 17e77f0..04ede91 100644 --- a/aoc/src/main/scala/aoc/y2017/Day08.scala +++ b/aoc/src/main/scala/aoc/y2017/Day08.scala @@ -44,10 +44,12 @@ object Day08 extends Day { def registerParser[_: P] = P(CharIn("a-z").rep(1).!) def numberParser[_: P] = P(("-".? ~ CharIn("0-9").rep(1)).!).map(_.toInt) + def instructionParser[_: P] = P(("inc" | "dec").!).map { case "inc" => Inc case "dec" => Dec } + def testParser[_: P] = P(("<=" | ">=" | "<" | ">" | "==" | "!=").!).map { case "<" => Lt case ">" => Gt @@ -56,12 +58,15 @@ object Day08 extends Day { case "==" => Eq case "!=" => Neq } + def fullInstructionParser[_: P] = P(registerParser ~ " " ~ instructionParser ~ " " ~ numberParser).map { case (reg, op, v) => FullInstruction(reg, op, v) } + def fullTestParser[_: P] = P(registerParser ~ " " ~ testParser ~ " " ~ numberParser).map { case (reg, op, v) => FullTest(reg, op, v) } + def lineParser[_: P] = P(fullInstructionParser ~ " if " ~ fullTestParser).map { case (i, t) => Line(i, t) } @@ -81,7 +86,7 @@ object Day08 extends Day { val testReg = map(cl.t.reg) val test = cl.t.op val v = cl.t.v - if(test.result(testReg, v)) { + if (test.result(testReg, v)) { val inReg = map(cl.i.reg) val in = cl.i.op val iv = cl.i.v