コード例 #1
0
        public string Part1()
        {
            var Nodes = new Dictionary <int, Node>();

            using (var Reader = new StreamReader(InputFile))
            {
                while (!Reader.EndOfStream)
                {
                    var NodeData           = Reader.ReadLine();
                    var NodeParts          = NodeData.Split(new string[] { "<->" }, StringSplitOptions.RemoveEmptyEntries);
                    var NodeConnectionData = NodeParts[1].Split(',');

                    var Index = int.Parse(NodeParts[0]);
                    var Node  = GetOrCreateNode(Nodes, Index);
                    foreach (var ConnectionData in NodeConnectionData)
                    {
                        var ConnectedIndex = int.Parse(ConnectionData);
                        var ConnectedNode  = GetOrCreateNode(Nodes, ConnectedIndex);
                        Node.Connections.Add(ConnectedNode);
                    }
                }
            }

            return(IndecisionGenerator.GetResult());
        }
コード例 #2
0
 public string Part2()
 {
     return(IndecisionGenerator.GetResult());
 }