diff --git a/2017/day-20/solution.r b/2017/day-20/solution.r index b123224..1db443f 100755 --- a/2017/day-20/solution.r +++ b/2017/day-20/solution.r @@ -8,18 +8,13 @@ input <- read.csv(tc, header=FALSE, sep=" ") close(tc) -accs <- rowSums(abs(input[,7:9])) -speeds <- rowSums(abs(input[,4:6])) - -perm <- order(accs, speeds) +perm <- order(rowSums(abs(input[,7:9])), rowSums(abs(input[,4:6]))) print(perm[1] - 1) for (i in 1:100) { # Update positions, speeds - for (coord in 1:3) { - input[,coord+3] <- input[,coord+3] + input[,coord+6] - input[,coord] <- input[,coord] + input[,coord+3] - } + input[,4:6] <- input[,4:6] + input[,7:9] + input[,1:3] <- input[,1:3] + input[,4:6] dups <- !(duplicated(input[,1:3]) | duplicated(input[,1:3], fromLast=TRUE))