我为我的学校项目做了一项我不知道如何解决的任务,而且我被困住了。我必须跑过这个迷宫:
#T###########
#.#...R.....#
#.###.#.###.#
#...Q.#...#.#
#.#####C###F#
#.A.........#
#B#####E#K#L#
#.......#.#.#
###D#H###.#.#
#...#...J.P.#
#G###X#####.#
#.........N.#
#############
在这个矩阵中,我必须找到哪个重要点是哪个邻居使用链接列表。
这应该是代码的输出:
A: L K F E C T Q B
B: H E D T Q A
C: L K F E A R F
D: G H E B
E: H D B L K F C A
F: L K E C A R C
G: X N D
H: X J E D B
J: X H P K
K: P J L F E C A
L: P N K F E C A
N: X G P L
P: N L K J
Q: R T B A
R: F C Q
T: Q B A
X: N G J H
int rekurzia(int x,int y)
{
if ((x < 0) || (x > MAX - 1) || (y < 0) || (y > MAX - 1))
return false;
if((matica[x][y] >= 'A') && (matica[x][y] <= 'Z'))
printf("%c\n", matica[x][y]);
if (matica[y][x] != '.' )
return false;
if (rekurzia(x,y-1) == true)
return true;
if (rekurzia(x+1,y) == true)
return true;
if (rekurzia(x,y+1) == true)
return true;
if (rekurzia(x-1,y) == true)
return true;
return false;
}
我这样做。有人可以帮助我,我该怎么做?谢谢!
答案 0 :(得分:1)
对于学校项目来说,这是一个极具挑战性的问题!但看起来很有趣!
如果我必须解决这个问题,我会这样做;
陷阱: - 留意无尽的电话 - 不要漫游到矩阵的边界