打印数字三角形 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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。