Пример #1
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(3199139634, result);
        }
Пример #2
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(321176691637769, total);
        }
Пример #3
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(237, count);
        }
Пример #4
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(1_010_299, Find2(entries));
        }
Пример #5
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(729, total);
        }
Пример #6
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(265, result);
        }
Пример #7
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(13983397496713, total);
        }
Пример #8
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(2164, result);
        }
Пример #9
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(300, black.Count);
        }
Пример #10
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(3466, result);
        }
Пример #11
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(582, total);
        }
Пример #12
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(1974, result);
        }
Пример #13
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

            var input = FileHelpers.EnumerateLines(_inputFilename);

            Assert.AreEqual(34566, RunSilver(input));
        }
Пример #14
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(172, count);
        }
Пример #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));
        }
Пример #16
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(510009915468, total);
        }
Пример #17
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(2324, result);
        }
Пример #18
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(319, result);
        }
Пример #19
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(1384, result.acc);
        }
Пример #20
0
        public void Silver()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(211, trees);
        }
Пример #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);
        }
Пример #22
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(761, result);
        }
Пример #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);
        }
Пример #24
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(45018, count);
        }
Пример #25
0
        public void Gold()
        {
            FileHelpers.CheckInputs(_inputFilename);

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

            Assert.AreEqual(2424, result);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }