Exemplo n.º 1
0
    public static BagDefinition Parse(string input)
    {
        var definition = new BagDefinition();

        var inputs = input.Split(SPLIT_TERM);

        definition.Colour = inputs[0].Trim();

        var ruleDefinitions = inputs[1].Split(", ").Select(rd => rd.Trim());

        definition.Rules.AddRange(ruleDefinitions.Select(rd => BagRule.Parse(rd)));

        return(definition);
    }
Exemplo n.º 2
0
    public static void Main(string[] args)
    {
        var allRules = GetRules(true).ToList();

        var targetBagColour = "shiny gold";
        //targetBagColour = "light chartreuse";
        //targetBagColour = "dark maroon";

        var parsedRules = allRules.Select(rule => BagDefinition.Parse(rule));

//    CountNestedColours(parsedRules, targetBagColour);

        var totalNests = CountNestedBags(parsedRules, targetBagColour);

        Console.WriteLine($"Total nested bags: {totalNests}");
    }