我正在用C编写代码,并收到一个malloc错误,错误消息如下:
malloc: *** error for object 0x7fe9d44026d8: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
我的代码的目标是使用read()函数将生成的迷宫存储到存储迷宫的字符串的二维数组中。在将字符串、行数和列数作为参数传递给函数时,我可以轻松地将迷宫读入字符串
这个mal
Code Golf:旋转迷宫
编写一个接受由迷宫组成的文件的程序。迷宫的墙壁是由#提供的。迷宫必须包括由o给出的单个球和由@给出的任意数量的洞。迷宫文件可以通过命令行输入,也可以通过标准输入作为行读取。请指定解决方案中的哪一个。
然后,您的程序将执行以下操作:
1: If the ball is not directly above a wall, drop it down to the nearest wall.
2: If the ball passes through a hole during step 1, remove the ball.
3: Display the maze
我在迷宫类中解决了一个迷宫,它使用广度优先搜索遍历迷宫,但我有一个测试用例,它要求迷宫返回方向的char,并使用N S E W作为方向。我的问题是将移动转换为char,就像在最终返回时将北移(-1,0)转换为N。
注意:我是python的新手,所以解决这个迷宫是非常困难的。
def moves(self):
moves = list()
(r, c) = self.location
for (dr, dc) in [(-1, 0), (1, 0), (0, 1), (0, -1)]: # here is North, South, East, West
我的任务是创建一个带有2D数组的迷宫。我被告知需要实现Union-Find算法来生成任意大小的迷宫。然后我需要打破每一道墙,直到每一个单元都可以到达。
int[][] matrix = new int[N][M];
单元格是单独的数组索引,但是墙是什么呢?我正在考虑用4个方向的构造器来创建自己的数据类型的迷宫,例如
Maze maze = new Maze() //fill in constructor as needed
数组的值是从0到9,我可以用什么来表示墙?
我要用java中的递归来解决迷宫,但是当我试图运行时,我会得到一个堆栈溢出错误。迷宫从+开始,通向终点的路径也是+,结束于-,墙壁是X,空格是潜在的路径,‘。将标志着一条死胡同。我认为导致错误的是回溯步骤。所显示的代码是我得到错误的部分。当迷宫路径是一条直线时,迷宫工作得很好。任何帮助都是非常感谢的。
/*Sample maze that causes errors
XXXXXXXXXXXX
+ XXX -
XXX XXX XXXX
XXX XX XXXX
XX X
XXXXXXXX
我知道这里还有很多其他的迷宫解决者。虽然我想有我自己的方法,我认为我的问题是有点不同的其他。
到现在为止,这是我的开始,希望我能实现我目前的想法。
private static int getPossiblePaths(File f) throws IOException {
int counts = 0; // hope to return all possible paths
// read input file then put it on list string
List<String> lines = Files.lines(f.toP