From 07ac0b2fc59ccc49a37101ad0048464ae3972e26 Mon Sep 17 00:00:00 2001 From: Max Nuding Date: Wed, 15 Dec 2021 13:00:00 +0100 Subject: [PATCH] 15b slow version, do not use --- Sources/15/15.swift | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Sources/15/15.swift b/Sources/15/15.swift index 93686e9..9b90183 100644 --- a/Sources/15/15.swift +++ b/Sources/15/15.swift @@ -49,6 +49,27 @@ class Day15: Runnable { lastRow = parts.count - 1 lastCol = (parts.first?.count ?? 0) - 1 + var tmpParts = parts + for (rowNum, row) in tmpParts.enumerated() { + let newRow = [Int](0...4).flatMap { cr in + row + .map { rv in cr + rv } + .map { $0 > 9 ? $0 - 9 : $0 } + } + parts[rowNum] = newRow + } + + tmpParts = parts + for num in 1...4 { + for i in tmpParts.indices { + let tr = tmpParts[i] + let ntr = tr.map { $0 + num }.map { $0 > 9 ? $0 - 9 : $0 } + parts.append(ntr) + } + } + + lastRow = parts.count - 1 + lastCol = (parts.first?.count ?? 0) - 1 var unvisited = Set() // Distances to startNode