检查2D图形中的TSP是否需要最小K个移动

时间:2017-05-03 22:12:13

标签: algorithm graph-theory

简短说明:

在网格中向我们提供2D grid,整数K >= 0和起点x, y。我们会要求检查Kgreater的路径长度是否存在,以便我们从起点开始和结束
网格包含'.''*'。我们无法访问'*'的单元格。此外,我们必须至少访问每个'.'单元格一次。可能的移动是UPDOWNLEFTRIGHT

问题链接:

ALCATRAZ3

我的方法:

我们从起点开始,尽一切可能&#34;移动,即UPDOWNLEFTRIGHT。对于每个可能的移动,我们从州s_i转移到州s_j,我们减少K的计数,同时将s_i标记为已访问。如果我们使用K <= 0再次到达起点,则答案为"YES",否则我们会回溯到之前的状态并执行下一步可能的操作。 为了优化它,我使用一个变量来查看我们是否已找到满足约束条件的路径。如果设置了变量,我们只需返回并且不要从当前状态探索新状态。

我处理了一些以下的案件: -

  • 如果K > N * M,则ans应为NO
  • 如果起点为'*',则ans应为NO
  • 如果K = 0且起点为'.',则应为YES

我用这种方法得到了错误答案

请注意,这是该问题的指数解决方案,但它足以解决此特定问题。你可以找到我的代码   here

谢谢。

0 个答案:

没有答案