WIP
This commit is contained in:
@@ -45,6 +45,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Day01.cs" />
|
<Compile Include="Day01.cs" />
|
||||||
<Compile Include="Day02.cs" />
|
<Compile Include="Day02.cs" />
|
||||||
|
<Compile Include="Day03.cs" />
|
||||||
<Compile Include="IDay.cs" />
|
<Compile Include="IDay.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
|||||||
47
AdventOfCode2017/Day03.cs
Normal file
47
AdventOfCode2017/Day03.cs
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,13 +7,14 @@ namespace AdventOfCode2017
|
|||||||
{
|
{
|
||||||
private static void Main(string[] args)
|
private static void Main(string[] args)
|
||||||
{
|
{
|
||||||
int currentDayNumber = 2;
|
int currentDayNumber = 3;
|
||||||
IDay currentDay = null;
|
IDay currentDay = null;
|
||||||
|
|
||||||
switch (currentDayNumber)
|
switch (currentDayNumber)
|
||||||
{
|
{
|
||||||
case 1: currentDay = new Day01(); break;
|
case 1: currentDay = new Day01(); break;
|
||||||
case 2: currentDay = new Day02(); 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));
|
string[] linesDay = File.ReadAllLines(string.Format("inputs/Day{0:00}.txt", currentDayNumber));
|
||||||
|
|||||||
Reference in New Issue
Block a user