๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Python] ๋ฐฑ์ค€ 2210 ๋ณธ๋ฌธ

#๋ฐฑ์ค€ 2210 ์ˆซ์žํŒ ์ ํ”„

graph = [list(map(int, input().split())) for _ in range(5)]
memo = set()

d_row = [0, -1, 0, 1]
d_col = [1, 0, -1, 0]

def dfs(depth, now, x, y):
    if depth == 6:
        if now not in memo:
            memo.add(now)
        return

    for i in range(4):
        dx = d_row[i] + x
        dy = d_col[i] + y
        if dx < 0 or dy < 0 or dx > 4 or dy > 4:
            continue
        dfs(depth+1, now + str(graph[dx][dy]), dx, dy)

for i in range(5):
    for j in range(5):
        dfs(1, str(graph[i][j]), i, j)

print(len(memo))