예제 #1
0
        public override bool Test2()
        {
            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);
            var  result1             = adapters.AllDistinctChainDistributions();
            bool firstAdaptersResult = result1 == 8;

            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);
            var  result2              = adapters2.AllDistinctChainDistributions();
            bool secondAdaptersResult = result2 == 19208;

            bool testSucceeded = firstAdaptersResult && secondAdaptersResult;

            return(testSucceeded);
        }
예제 #2
0
        public override string Second()
        {
            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);
            var result   = adapters.AllDistinctChainDistributions();

            return(result.ToString());
        }
예제 #3
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());
        }
예제 #4
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);
        }