昨天晚上,队长在讲背包问题时顺便讲了一下数塔,嘿嘿,昨天晚上真的是赚到了,原来看的东西有很多都不懂,昨天晚上,队长一点,如醍醐灌顶,哈哈!!
首先是The Triangle,这个题非常直白的将数塔的应用给体现出来了,其实数塔的思想就是从下往上来进行运算,不断的更新数组……
题目:The Triangle
原题地址:请猛击
#include<stdio.h> #define max(a,b) a>b?a:b //虽然很早都会用了,今天看了xiaod的代码,感觉很不错 int main() { int a,i,j,m[105][105]; scanf("%d",&a); for(i=1;i<=a;i++) for(j=1;j<=i;j++) scanf("%d",&m[i][j]); while(1) { a--; for(i=1;i<=a;i++) //不断往上更新最值 m[a][i]+=max(m[a+1][i],m[a+1][i+1]); if(a==1) break; } printf("%d\n",m[1][1]); return 0; }
打铁趁热,就顺便把另外一道以前看过的类似的题目也做一下……
题目: 聪明的kk
原题地址:请猛击
自己写的,自我感觉很不错,看了大牛的,才觉得自己还差得远呢……哎…………
今天发现,原来每天的10点以后在寝室都是有时间的,以后的每天这个时候,都把自己收获的成果给记录下来吧,以鼓励自己,继续努力前行!!