問題の本文はこちら: AtCoder Typical Contest 001 A - 深さ優先探索

自分のコードは以下の通りです。

import sys
sys.setrecursionlimit(10000)


H, W = map(int, input().split())
maze = [list(map(str, input().split())) for _ in range(H)]

def search(x,y, maze):
    if x < 0 or  y < 0 or maze[x][0][y] == "#":
        return
    elif maze[x][0][y] == "g":
        print("Good")
    else:
        search(x+1, y, maze)
        search(x-1, y, maze)
        search(x, y+1, maze)
        search(x, y-1, maze)

# "S"の座標を特定する
for i in range(H):
    for j in range(W):
        if maze[i][0][j] == "s":
            sx = i
            sy = j

search(sx, sy, maze)

実行すると以下のようなエラーが出てきます。(入力例1)

RecursionError: maximum recursion depth exceeded in comparison