Create scala.sc
This commit is contained in:
parent
12928d7e7b
commit
ba5afd3456
44
2019/2/scala.sc
Normal file
44
2019/2/scala.sc
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
import scala.io.Source
|
||||||
|
|
||||||
|
var original = Source.fromFile(getClass.getResource("/input2.txt").getFile).mkString.split("\\D+").map(x => x.toInt)
|
||||||
|
original(1) = 12
|
||||||
|
original(2) = 2
|
||||||
|
var copy1 = original.clone()
|
||||||
|
|
||||||
|
// 1
|
||||||
|
def tapeTraversal1(arr:Array[Int]):Int =
|
||||||
|
{
|
||||||
|
var i = 0
|
||||||
|
while (arr(i) == 1 || arr(i) == 2)
|
||||||
|
{
|
||||||
|
arr(i) match {
|
||||||
|
case 1 => arr(arr(i + 3)) = arr(arr(i + 1)) + arr(arr(i + 2))
|
||||||
|
case 2 => arr(arr(i + 3)) = arr(arr(i + 1)) * arr(arr(i + 2))
|
||||||
|
case _ => ()
|
||||||
|
}
|
||||||
|
i += 4
|
||||||
|
}
|
||||||
|
arr(0)
|
||||||
|
}
|
||||||
|
val result1 = tapeTraversal1(copy1)
|
||||||
|
|
||||||
|
// 2
|
||||||
|
def bruteForce2(arr:Array[Int]):(Int, Int) =
|
||||||
|
{
|
||||||
|
var tuple = (0, 0)
|
||||||
|
for (i <- 0 to 99; j <- 0 to 99)
|
||||||
|
{
|
||||||
|
var copy = arr.clone()
|
||||||
|
copy(1) = i
|
||||||
|
copy(2) = j
|
||||||
|
if (tapeTraversal1(copy) == 19690720) tuple = (i, j)
|
||||||
|
}
|
||||||
|
tuple
|
||||||
|
}
|
||||||
|
|
||||||
|
val result2 = bruteForce2(original)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue