"##########################################".ToArray(),
"# # # # ## # ## # # # # # ## ##".ToArray(),
"### ### ## # ### # # ##".ToArray(),
"## ## ## # # # # # # ####".ToArray(),
"## # ### # # # # # # #".ToArray(),
"### # # ### # # ## # # #".ToArray(),
"# ### # # # E # # ### # ## ##".ToArray(),
"# # # # ### ## # ## # #".ToArray(),
"# # ### # F# # #".ToArray(),
"# # ## # # ### ## # ### # #".ToArray(),
"# # ### # #### ### # # ###".ToArray(),
"### ## # # # ##".ToArray(),
"# ### # # ### #### #".ToArray(),
"# ####### # # # ## ## # ##".ToArray(),
"## ## # # # # # ## #".ToArray(),
"## # ## ## ## # # ### #".ToArray(),
"# ## ##### # # # # # # ### #".ToArray(),
"# # # # # # # # # # ## #".ToArray(),
"# # ### ### # # ## # # #".ToArray(),
"## # # ### # ## # # ## # #".ToArray(),
"### # ### # # ### ## # #### #".ToArray(),
"##########################################".ToArray()}
private bool DepthFirst(int x, int y)
if (maze[x][y] == '#' || maze[x][y] == '1')
if (DepthFirst(x + 1, y) || DepthFirst(x - 1, y) || DepthFirst(x, y + 1) || DepthFirst(x, y - 1))
public override string ToString()
return string.Join("\n", maze.Select(x => new String(x)));
Console.WriteLine(c.DepthFirst(6, 17));