Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1993|回复: 6

[VBA] 用VBA解欧拉计划题目(18)

[复制链接]
发表于 2017-11-3 09:35 | 显示全部楼层 |阅读模式
第18题:最大路径和 I
从下面展示的三角形的顶端出发,不断移动到在下一行与其相邻的元素,能够得到的最大路径和是23。
3
7 4
2 4 6
8 5 9 3
如上图,最大路径和为 3 + 7 + 4 + 9 = 23。
求从下面展示的三角形顶端出发到达底部,所能够得到的最大路径和:
75
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 04 28 06 16 70 92
41 41 26 56 83 40 80 70 33
41 48 72 33 47 32 37 16 94 29
53 71 44 65 25 43 91 52 97 51 14
70 11 33 28 77 73 17 78 39 68 17 57
91 71 52 38 17 14 91 43 58 50 27 29 48
63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23
结果是1074

 楼主| 发表于 2017-11-3 09:37 | 显示全部楼层
贴文本有点变形,上图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2017-11-4 15:52 | 显示全部楼层
本帖最后由 砂海 于 2017-11-4 15:53 编辑
  1. Sub 路径()

  2.     Dim arr, i%, j%, p%, 和(1 To 15, 1 To 15) As Integer, 路(1 To 15, 1 To 15) As String
  3.    
  4.     arr = Range("A1:o15").Value
  5.     For j = 1 To 15
  6.         和(15, j) = arr(15, j)
  7.         路(15, j) = arr(15, j)
  8.     Next j
  9.             
  10.     For i = 15 To 2 Step -1
  11.         For j = 1 To i - 1
  12.         
  13.             p = 和(i, j) < 和(i, j + 1)
  14.             
  15.             和(i - 1, j) = arr(i - 1, j) + 和(i, j - p)
  16.             路(i - 1, j) = arr(i - 1, j) & "," & 路(i, j - p)
  17.            
  18.         Next j
  19.     Next i
  20.    
  21.     Debug.Print 和(1, 1) & " = {" & 路(1, 1) & "}"
  22.    
  23. End Sub
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1 +30 收起 理由
大灰狼1976 + 30 神马都是浮云

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-11-4 20:06 | 显示全部楼层
嗯,应该就是这个思路,从下往上,两两相加取大者作为新行。
回复

使用道具 举报

发表于 2017-11-7 09:12 | 显示全部楼层
我只会遍历,我的电脑上速度0.1s左右。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2017-11-7 09:30 | 显示全部楼层
遍历是可以的。但之后会有一道相同的题目,100行的。你再遍历试试?
回复

使用道具 举报

发表于 2017-11-7 20:17 | 显示全部楼层
grf1973 发表于 2017-11-7 09:30
遍历是可以的。但之后会有一道相同的题目,100行的。你再遍历试试?

15行增加到100行而已,不会有太大的困难。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-14 20:28 , Processed in 0.203828 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表