Day03: Statement, input data and failing test

This commit is contained in:
2018-12-03 17:25:46 +01:00
parent 5974f6f7f2
commit a9ef8d58d3
6 changed files with 1366 additions and 1 deletions

View File

@@ -45,6 +45,7 @@
<ItemGroup>
<Compile Include="Day01.cs" />
<Compile Include="Day02.cs" />
<Compile Include="Day03.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
@@ -55,6 +56,9 @@
<Content Include="inputs\Day02.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="inputs\Day03.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

62
AdventOfCode2018/Day03.cs Normal file
View File

@@ -0,0 +1,62 @@
using System;
namespace AdventOfCode2018
{
/*
--- Day 3: No Matter How You Slice It ---
The Elves managed to locate the chimney-squeeze prototype fabric for Santa's suit (thanks to someone who helpfully wrote its box IDs on the wall of the warehouse in the middle of the night). Unfortunately, anomalies are still affecting them - nobody can even agree on how to cut the fabric.
The whole piece of fabric they're working on is a very large square - at least 1000 inches on each side.
Each Elf has made a claim about which area of fabric would be ideal for Santa's suit. All claims have an ID and consist of a single rectangle with edges parallel to the edges of the fabric. Each claim's rectangle is defined as follows:
The number of inches between the left edge of the fabric and the left edge of the rectangle.
The number of inches between the top edge of the fabric and the top edge of the rectangle.
The width of the rectangle in inches.
The height of the rectangle in inches.
A claim like #123 @ 3,2: 5x4 means that claim ID 123 specifies a rectangle 3 inches from the left edge, 2 inches from the top edge, 5 inches wide, and 4 inches tall. Visually, it claims the square inches of fabric represented by # (and ignores the square inches of fabric represented by .) in the diagram below:
...........
...........
...#####...
...#####...
...#####...
...#####...
...........
...........
...........
The problem is that many of the claims overlap, causing two or more claims to cover part of the same areas. For example, consider the following claims:
#1 @ 1,3: 4x4
#2 @ 3,1: 4x4
#3 @ 5,5: 2x2
Visually, these claim the following areas:
........
...2222.
...2222.
.11XX22.
.11XX22.
.111133.
.111133.
........
The four square inches marked with X are claimed by both 1 and 2. (Claim 3, while adjacent to the others, does not overlap either of them.)
If the Elves all proceed with their own plans, none of them will have enough fabric. How many square inches of fabric are within two or more claims?
*/
public class Day03
{
public string ResolveDay03(string[] inputs)
{
throw new NotImplementedException();
}
}
}

View File

@@ -7,7 +7,7 @@ namespace AdventOfCode2018
{
private static void Main(string[] args)
{
int currentDay = 2;
int currentDay = 3;
if (currentDay == 1)
{
@@ -31,6 +31,15 @@ namespace AdventOfCode2018
Console.WriteLine("Day02_Part2 Result: {0}", resultDay02Part2);
}
if (currentDay == 3)
{
// Resolve Day03
Day03 day03 = new Day03();
string[] linesDay03 = File.ReadAllLines("inputs/Day03.txt");
string resultDay03 = day03.ResolveDay03(linesDay03);
Console.WriteLine("Day03 Result: {0}", resultDay03);
}
Console.Read();
}
}

File diff suppressed because it is too large Load Diff