示例#1
0
        /// <summary>
        /// Bagr.Cmd entry point
        /// </summary>
        /// <param name="args">Command line arguments (not used)</param>
        static void Main(string[] args)
        {
            var filePath = "./input";
            var reader   = new FileReader();
            // Normalize line endings.  Bake this into the fileReader class soon.
            var contents = reader.ReadFile(filePath).Replace("\r\n", "\n");

            var formatter = new RecordFormatter(null);

            var ruleStrings = formatter.FormatRecord(contents, "\n", true);

            var parser = new RuleParser();

            var parsedRules = parser.ParseRules(ruleStrings);

            var bagColors = parser.FindBagColorsContainingBag(parsedRules, "shiny gold");

            Console.WriteLine(bagColors.Count());

            // Subtract 1 because we only care about what's in our bag
            var sumOfContents = parser.FindSumOfContents(parsedRules, "shiny gold") - 1;

            Console.WriteLine(sumOfContents);
        }