예제 #1
0
        public override string First()
        {
            string     filename = GetFilename();
            List <int> input    = System.IO.File.ReadAllLines(filename).Select(int.Parse).ToList();

            // all adapters in my bag
            var adapters = new ChainOfAdapters(input);

            adapters.BuildChainDistribution_v2();
            int result = adapters.Difference1Jolt * adapters.Difference3Jolt;

            return(result.ToString());
        }
예제 #2
0
        public override bool Test()
        {
            List <int> input1 = new List <int>()
            {
                16,
                10,
                15,
                5,
                1,
                11,
                7,
                19,
                6,
                12,
                4
            };

            // all adapters in my bag
            var adapters = new ChainOfAdapters(input1);

            adapters.BuildChainDistribution_v2();
            bool firstAdaptersResult = adapters.Difference1Jolt == 7 && adapters.Difference3Jolt == 5;

            string     filename = GetTestFilename();
            List <int> input2   = System.IO.File.ReadAllLines(filename).Select(int.Parse).ToList();

            // all adapters in my bag
            var adapters2 = new ChainOfAdapters(input2);

            adapters2.BuildChainDistribution_v2();
            bool secondAdaptersResult = adapters2.Difference1Jolt == 22 && adapters2.Difference3Jolt == 10;

            bool testSucceeded = firstAdaptersResult && secondAdaptersResult;

            return(testSucceeded);
        }