diff --git a/AdventOfCode2017/AdventOfCode2017.csproj b/AdventOfCode2017/AdventOfCode2017.csproj index d5d3b5a..decaf19 100644 --- a/AdventOfCode2017/AdventOfCode2017.csproj +++ b/AdventOfCode2017/AdventOfCode2017.csproj @@ -45,6 +45,7 @@ + diff --git a/AdventOfCode2017/Day03.cs b/AdventOfCode2017/Day03.cs new file mode 100644 index 0000000..21ef38e --- /dev/null +++ b/AdventOfCode2017/Day03.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AdventOfCode2017 +{ + /* + * + --- Day 3: Spiral Memory --- + + You come across an experimental new kind of memory stored on an infinite two-dimensional grid. + + Each square on the grid is allocated in a spiral pattern starting at a location marked 1 and then counting up while spiraling outward. For example, the first few squares are allocated like this: + + 17 16 15 14 13 + 18 5 4 3 12 + 19 6 1 2 11 + 20 7 8 9 10 + 21 22 23---> ... + + While this is very space-efficient (no squares are skipped), requested data must be carried back to square 1 (the location of the only access port for this memory system) by programs that can only move up, down, left, or right. They always take the shortest path: the Manhattan Distance between the location of the data and square 1. + + For example: + + Data from square 1 is carried 0 steps, since it's at the access port. + Data from square 12 is carried 3 steps, such as: down, left, left. + Data from square 23 is carried only 2 steps: up twice. + Data from square 1024 must be carried 31 steps. + + How many steps are required to carry the data from the square identified in your puzzle input all the way to the access port? + + */ + public class Day03 : IDay + { + public string ResolvePart1(string[] inputs) + { + return null; + } + + public string ResolvePart2(string[] inputs) + { + return null; + } + } +} diff --git a/AdventOfCode2017/Program.cs b/AdventOfCode2017/Program.cs index ebde187..1809437 100644 --- a/AdventOfCode2017/Program.cs +++ b/AdventOfCode2017/Program.cs @@ -7,13 +7,14 @@ namespace AdventOfCode2017 { private static void Main(string[] args) { - int currentDayNumber = 2; + int currentDayNumber = 3; IDay currentDay = null; switch (currentDayNumber) { case 1: currentDay = new Day01(); break; case 2: currentDay = new Day02(); break; + case 3: currentDay = new Day03(); break; } string[] linesDay = File.ReadAllLines(string.Format("inputs/Day{0:00}.txt", currentDayNumber));