码迷,mamicode.com
首页 > 其他好文 > 详细

数字三角形

时间:2016-05-10 20:45:46      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

描述
  (图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路
  径,使该路径所经过的数字的总和最大。
  ●每一步可沿左斜线向下或右斜线向下走;
  ●1<三角形行数≤100;
  ●三角形中的数字为整数0,1,…99;


技术分享.
  (图3.1-1)
输入格式
  文件中首先读到的是三角形的行数。
  接下来描述整个三角形
输出格式
  最大总和(整数)
样例输入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
样例输出
30

测试代码

 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int n, i, j;
 7     int **tra;
 8     scanf("%d", &n);
 9     //创建二维动态数组
10     tra = new int*[n];
11     for (i = 0; i < n; i++)
12     {
13         tra[i] = new int[i + 1];
14         for (j = 0; j <= i; j++)
15         {
16             scanf("%d", &tra[i][j]);            
17         }
18     }
19     for (i = n - 1; i >= 0; i--)
20     {
21         for (j = 0; j < i; j++)
22         {
23             if (tra[i][j] > tra[i][j + 1])
24             {
25                 tra[i - 1][j] += tra[i][j];
26             }
27             else
28             {
29                 tra[i - 1][j] += tra[i][j + 1];
30             }
31         }
32     }
33     printf("%d\n", tra[0][0]);
34     for (i = 0; i < n; i++)
35     {
36         delete[] tra[i];
37     }
38     delete []tra;
39     return 0;
40 }

 

数字三角形

标签:

原文地址:http://www.cnblogs.com/maxin/p/5478831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!