打印数字三角形 python,python打印数字直角三角形

  打印数字三角形 python,python打印数字直角三角形

  主题描述:

  计算从三角形顶部到底部的路径,以最大化该路径通过的数字的总和。每个数字可以选择向左或向右下方。比如下图中的 3 可以选择数字 8 或 1 ,但不能选择数字 0 和数字 9 。)。

  七

  3() ) ) ) ) ) ) ) )0)

  8 1 0

  () )

  526 ) ) ) ) )

  注意:

  1.不要选择每层中值最大的那个。

  2.在满足条件的路径中,而不是选择数值最大的路径。

  3.以上两种说法是有区别的。

  PS:

  第一次看到这个题目可能会理解为第一个注意点,但是仔细想想这个错误的理解,

  换句话说,它实际上被误解为注释中的第二点。利用好这两个误差,可以实现下面的算法。

  算法:

  如果这个三角形只有一个数字,结果是:

  如果这个三角形只有3个数字,那么结果是:max(,)

  如果这个三角形中只有6个数字,那么结果就是:max(max(,max),))

  代码实现:

  #包括

  #包括

  #包括

  #定义最大100 1

  #定义路线/首页/娃哈哈/桌面/123

  使用命名空间std

  int num[MAX][MAX],n;//n代表层数,h代表行数,l代表列数。

  intway(inth,int l).

  {

  return h==n?num[h][l]3360 num[h][l]max(way (h1,l),way(h1,l 1));

  }

  作废)。

  {

  memset(num,0,sizeof)num);

  freopen(route, r ,stdin);

  怀尔(Cinn).

  {

  for(inth=1;h=n;h)

  for(intL=1;l=h;l()))))))).

  cinnum[h][l];

  Count (1,1))。

  }

  0;

  }

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: