Exemplo n.º 1
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var result = FindSilver(FileHelpers.EnumerateLines(_inputFilename), 25);

            Assert.AreEqual(3199139634, result);
        }
Exemplo n.º 2
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var total = FileHelpers.EnumerateLines(_inputFilename).Sum(ParseGold);

            Assert.AreEqual(321176691637769, total);
        }
Exemplo n.º 3
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var count = CountValidPassports(FileHelpers.EnumerateLines(_inputFilename), ValidateSilver);

            Assert.AreEqual(237, count);
        }
Exemplo n.º 4
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var entries = FileHelpers.EnumerateLines(_inputFilename).Select(int.Parse).ToHashSet();

            Assert.AreEqual(1_010_299, Find2(entries));
        }
Exemplo n.º 5
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var total = FileHelpers.EnumerateLines(_inputFilename).Count(IsGoldValid);

            Assert.AreEqual(729, total);
        }
Exemplo n.º 6
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var result = RunSilver(FileHelpers.EnumerateLines(_inputFilename));

            Assert.AreEqual(265, result);
        }
Exemplo n.º 7
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var total = FindSilver(FileHelpers.EnumerateLines(_inputFilename));

            Assert.AreEqual(13983397496713, total);
        }
Exemplo n.º 8
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var result = Run(FileHelpers.EnumerateLines(_inputFilename), maxLook: 1, maxNeighbors: 4);

            Assert.AreEqual(2164, result);
        }
Exemplo n.º 9
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var black = RunSilver(FileHelpers.EnumerateLines(_inputFilename));

            Assert.AreEqual(300, black.Count);
        }
Exemplo n.º 10
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var result = RunGold(FileHelpers.EnumerateLines(_inputFilename));

            Assert.AreEqual(3466, result);
        }
Exemplo n.º 11
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var total = FileHelpers.EnumerateLines(_inputFilename).Count(IsSilverValid);

            Assert.AreEqual(582, total);
        }
Exemplo n.º 12
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var result = Run(FileHelpers.EnumerateLines(_inputFilename), maxLook: int.MaxValue, maxNeighbors: 5);

            Assert.AreEqual(1974, result);
        }
Exemplo n.º 13
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var input = FileHelpers.EnumerateLines(_inputFilename);

            Assert.AreEqual(34566, RunSilver(input));
        }
Exemplo n.º 14
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var count = CountValidPassports(FileHelpers.EnumerateLines(_inputFilename), ValidateGold);

            Assert.AreEqual(172, count);
        }
Exemplo n.º 15
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var input = FileHelpers.EnumerateLines(_inputFilename);

            Assert.AreEqual("bjpkhx,nsnqf,snhph,zmfqpn,qrbnjtj,dbhfd,thn,sthnsg", RunGold(input));
        }
Exemplo n.º 16
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var total = FileHelpers.EnumerateLines(_inputFilename).Sum(ParseSilver);

            Assert.AreEqual(510009915468, total);
        }
Exemplo n.º 17
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var result = RunGold(FileHelpers.EnumerateLines(_inputFilename), isHyper: true);

            Assert.AreEqual(2324, result);
        }
Exemplo n.º 18
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var result = RunGold(FileHelpers.EnumerateLines(_inputFilename), isHyper: false);

            Assert.AreEqual(319, result);
        }
Exemplo n.º 19
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var program = new Program(FileHelpers.EnumerateLines(_inputFilename));
            var result  = program.Run();

            Assert.AreEqual(1384, result.acc);
        }
Exemplo n.º 20
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var map   = FileHelpers.EnumerateLines(_inputFilename).ToArray();
            var trees = CountTrees(map, 3, 1);

            Assert.AreEqual(211, trees);
        }
Exemplo n.º 21
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var entries = FileHelpers.EnumerateLines(_inputFilename).Select(int.Parse).ToArray();
            var total   = Find3(entries);

            Assert.AreEqual(42_140_160, total);
        }
Exemplo n.º 22
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var program = new Program(FileHelpers.EnumerateLines(_inputFilename));
            var result  = RunGold(program);

            Assert.AreEqual(761, result);
        }
Exemplo n.º 23
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var find   = FindSilver(FileHelpers.EnumerateLines(_inputFilename), 25);
            var result = FindGold(FileHelpers.EnumerateLines(_inputFilename), find);

            Assert.AreEqual(438559930, result);
        }
Exemplo n.º 24
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var allBags = ParseBags(FileHelpers.EnumerateLines(_inputFilename));
            var count   = FindGold("shiny gold", allBags);

            Assert.AreEqual(45018, count);
        }
Exemplo n.º 25
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            const int size   = 12;
            var       result = FindGold(size, FileHelpers.EnumerateLines(_inputFilename));

            Assert.AreEqual(2424, result);
        }
Exemplo n.º 26
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var answers = ParseAnswers(FileHelpers.EnumerateLines(_inputFilename));

            var total = answers.Sum(group => group.answers.Count);

            Assert.AreEqual(7110, total);
        }
Exemplo n.º 27
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var answers = ParseAnswers(FileHelpers.EnumerateLines(_inputFilename));

            var total = answers.Sum(group => group.answers.Count(g => g.Value == group.groupSize));

            Assert.AreEqual(3628, total);
        }
Exemplo n.º 28
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var input = FileHelpers.EnumerateLines(_inputFilename);
            var timer = new Stopwatch();

            timer.Start();
            Assert.AreEqual(31854, RunGold(input));
            Console.WriteLine(timer.ElapsedMilliseconds);
        }
Exemplo n.º 29
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var allBags = ParseBags(FileHelpers.EnumerateLines(_inputFilename));

            var foundBags = new HashSet <string>();

            FindSilver("shiny gold", allBags, foundBags);

            Assert.AreEqual(259, foundBags.Count);
        }
Exemplo n.º 30
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var map = FileHelpers.EnumerateLines(_inputFilename).ToArray();

            var a = CountTrees(map, 1, 1);
            var b = CountTrees(map, 3, 1);
            var c = CountTrees(map, 5, 1);
            var d = CountTrees(map, 7, 1);
            var e = CountTrees(map, 1, 2);

            Assert.AreEqual(3_584_591_857, a * b * c * d * e);
        }