【问题标题】:Algorithm to traverse a double dimension matrix遍历二维矩阵的算法
【发布时间】:2012-03-15 20:26:15
【问题描述】:

给定一个所有正数的二维矩阵,我如何将矩阵从一个角遍历到另一个角,以使沿路径的值总和最大? 您只能向左、向右、向上或向下移动,即不能沿对角线移动。

你不能向后移动,即你总是必须向另一个角落移动

【问题讨论】:

  • 听起来像是 Project Euler #83 (projecteuler.net/problem=83)
  • 你可以访问所有的号码吗?如果不是,这是来自 NCPC 或 ICPC 的作业。
  • 最大?对于每个值k,您可以通过在一些相邻单元格上“循环”来获得更高的值。还有一些限制?
  • 如果你允许所有的左右上下移动,那么你可以得到一个任意大的值——还有其他限制吗?
  • “你不能向后移动”与“向左、向右、向上和向下移动”相矛盾。我能想到的两种可能是“只能向右和向下移动”和“不允许两次访问条目”。

标签: algorithm multidimensional-array matrix double


【解决方案1】:

尝试使用 boustrophedonic 遍历。我重复建议以遵守 SO 的最小发布长度。尝试使用 boustrophedonic 遍历。

【讨论】:

  • 你不能向后移动,即你总是必须向另一个角落移动
  • 就是这样,等我开始回答之后再改变你的问题。如果你足够细化你的问题,你可能会发现,你自己来回答。这将证明我帮助你的无益方法是正确的。
猜你喜欢
  • 2011-02-21
  • 2021-12-28
  • 1970-01-01
  • 2018-05-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 2022-01-06
  • 1970-01-01
相关资源
最近更新 更多