8-Puzzle Java算法难题

时间:2019-02-08 07:34:06

标签: java breadth-first-search

我一直在为上课的8个难题而努力,并且有点沮丧地签出代码。我需要编写有关左,右,上和下运动的代码。当我删除权利时,在扩展以获取后继节点并将其添加后,代码为double数组给出了“索引超出范围-1”错误。下面的代码是否适合通过迷宫/继任者,从而使孩子回到父母身边?左,上,下和右代码是否有误?

当我返回几个测试时,我确实看到0的移动向右移动,然后到达边缘时又向下移动,所以我不确定下面的代码是否真正起作用,或者是否存在某些错误。需要更改。

拼图需要输出:

1 2 3

4 5 6

7 8 0

典型输出显示:

1 7 8

5 4 2

3 6 0

因此,路径似乎是错误的,我认为它与下面的运动代码有关,但我不确定。我的问题是下面的代码准确,是否需要更改某些内容?是导致ArrayIndexoutOfBounds -1与此相关的原因,还是其他原因?

#!/usr/bin/perl
use strict;
use warnings;

# read lines from STDIN
while (<STDIN>) {
    chomp;

    # add your processing code here that does something with $_, i.e. the line
    # EXAMPLE: upper case first letter in all words on the line
    s/\b([[:lower:]])/\U\1/;

    # write result to STDOUT
    print "$_\n";
}

1 个答案:

答案 0 :(得分:3)

目前,您的代码检查col 0,最后一行> 0