コード例 #1
0
ファイル: Program.cs プロジェクト: acreatist/taCSharp
        static void DFS(Node node, int currSum)
        {
            currSum += node.Value;
            used.Add(node);

            for (int i = 0; i < node.ChildrenCount; i++)
            {
                if (used.Contains(node.GetNode(i)))
                {
                    continue;
                }
                DFS(node.GetNode(i), currSum);
            }
            Console.Write("{0} ->", node.Value);
            // if reached another leaf, check sums
            if (node.ChildrenCount == 1)
            {
                if (currSum > maxSum)
                {
                    maxSum = currSum;
                }
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: kikooo52/taCSharp
        static void DFS(Node node, int currSum)
        {
            currSum += node.Value;
            used.Add(node);

            for (int i = 0; i < node.ChildrenCount; i++)
            {
                if (used.Contains(node.GetNode(i)))
                {
                    continue;
                }
                DFS(node.GetNode(i), currSum);
            }
            Console.Write("{0} ->", node.Value);
            // if reached another leaf, check sums
            if (node.ChildrenCount == 1)
            {
                if (currSum > maxSum)
                {
                    maxSum = currSum;
                }
            }
        }