πŸ—οΈ Algorithm/🟩 λ°±μ€€

🟩 [λ°±μ€€] [Python] 2210번_숫자판 점프

Dbswnstjd 2022. 11. 28. 10:40

문제

https://www.acmicpc.net/problem/2210

 

2210번: 숫자판 점프

111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 κ°€λŠ₯ν•œ κ²½μš°λ“€μ΄λ‹€.

www.acmicpc.net

풀이

# λ°±μ€€ 2210번 문제 - 숫자판 점프
from collections import deque
dx, dy = [0,0,-1,1], [1,-1,0,0]
graph = [list(map(str, input().split(' '))) for _ in range(5)]

def dfs(x, y, number):
    if len(number) == 6:
        if number not in result:
            result.append(number)
        return
    q = deque()
    q.append((x,y))

    while q:
        x, y = q.popleft()

        for i in range(4):
            nx = x + dx[i]
            ny = y + dy[i]
            if 0<=nx<5 and 0<=ny<5:
                dfs(nx, ny, number + graph[nx][ny])
result = []
for i in range(5):
    for j in range(5):
        dfs(i, j, graph[i][j])
print(len(result))