C++ 选择每条路径时使用强力投影

C++ 选择每条路径时使用强力投影,c++,algorithm,C++,Algorithm,我正试图强行解决以下问题 我想不出一个解决办法,我的脑袋也僵了,我不知道如何选择每一条路。我所做的如下 vector<vector<int> > triangle = { { 3 }, { 7, 4 }, { 2, 4, 6 }, { 8, 5, 9, 3 } }; int maxSum = 0; for (int i = 0; i < triangle.size()

我正试图强行解决以下问题

我想不出一个解决办法,我的脑袋也僵了,我不知道如何选择每一条路。我所做的如下

vector<vector<int> > triangle =
    {
        { 3 },
        { 7, 4 },
        { 2, 4, 6 },
        { 8, 5, 9, 3 }
    };

    int maxSum = 0;
    for (int i = 0; i < triangle.size(); i++)
    {
        for (int j = 0; j < triangle[i].size(); j++)
        {

        }
    }
矢量三角形=
{
{ 3 },
{ 7, 4 },
{ 2, 4, 6 },
{ 8, 5, 9, 3 }
};
int最大和=0;
对于(int i=0;i
强制执行时,必须将以下分支的数量相加,并找到最大值:

  • 3,7,2,8
  • 3,7,2,5
  • 3,7,4,5
  • 3,4,6,3

如何生成这样的序列?

这将是编码挑战网站的“挑战”部分。如果你想破坏这个挑战,你当然可以把“euler problem 18”放在任何网络搜索框中,并获得结果,但代码编写服务也不是这样。我必须做4个循环来扫描每条路径吗?@WhozCraig我不想编写动态编程解,我需要基于三角形深度的蛮力方法,我应该做4个循环吗?@AndreAhmed:如果使用递归而不是循环,这个问题更容易解决。但是,您可以使用4个循环(在这种特殊情况下,不是在一般情况下)。我是否应该将三角形转换为树,并在树中执行深度优先搜索?
   3
  7 4
 2 4 6
8 5 9 3