private static void Part2() { var delay = 0; do { var firewall = new Firewall(GetLayers()); foreach (var i in Enumerable.Range(0, delay)) { firewall.TickLayers(); } while (firewall.Tick()) { ; } if (firewall.Caught.Count == 0) { Console.WriteLine($"Lowest delay possible is {delay}"); return; } else { delay++; } if (delay % 1000 == 0) { Console.WriteLine($"Now at delay of {delay}"); } } while(true); }
private static void Part1() { var firewall = new Firewall(GetLayers()); while (firewall.Tick()) { ; } Console.WriteLine($"Severity is {firewall.Severity}"); }
static void Main(string[] args) { var input = System.IO.File.ReadAllText("Inputs/day-13.txt"); Firewall f = FirewallFactory.CreateFromString(input); Packet p = new Packet(); // Part one Console.WriteLine(p.GetTravelCost(f)); // Part two Console.WriteLine(p.GetDelayForNoAlarms(f)); }
static void Main(string[] args) { var input = System.IO.File.ReadAllLines(@"../input.txt").ToList(); var firewall = new Firewall(input); var totalSeverity = firewall.TotalSeverity(0); Console.WriteLine($"Part1: {totalSeverity}"); var delay = firewall.FindSaveDelay(); Console.WriteLine($"Part2: {delay}"); }
static void Main(string[] args) { var fwLayers = File.ReadAllLines(@".\Input.txt") .Select(line => line.Split(':')) .Select(split => new Tuple <int, int>(int.Parse(split[0]), int.Parse(split[1])) ).ToList(); var firewall = new Firewall(fwLayers); int severity = 0; for (int packetPos = 0; packetPos <= firewall.MaxDepth; packetPos++) { if (firewall.Layers[packetPos].CheckIfCaught(packetPos)) { severity += packetPos * firewall.Layers[packetPos].RangeSize; } } Console.WriteLine($"Day 13 - Assignment 1: Severity is: {severity}"); severity = 1; //Ingen ide att börja på noll då är alltid första upptagen int delay = 1; bool caught = true; while (caught) { caught = firewall.CheckFirewall(delay); if (caught) { delay++; } } Console.WriteLine($"Day 13 - Assignment 2: Delay is: {delay}"); }