현제의 현재이야기
<2022모각코/TIL> [백준/python] 2210 - 숫자판 점프 본문
import sys
sys.setrecursionlimit(10**6)
input = sys.stdin.readline
graph = []
for _ in range(5):
arr = list(map(int, input().split()))
graph.append(arr)
result_set = set()
def dfs(i, j, result):
result += str(graph[i][j])
if len(result) == 6:
result_set.add(result)
return
dx, dy = [1, 0, -1, 0], [0, -1, 0, 1]
for d in range(4):
x = i + dx[d]
y = j + dy[d]
if 0 <= x <= 4 and 0 <= y <= 4:
dfs(x, y, result)
for i in range(5):
for j in range(5):
dfs(i, j, '')
print(len(result_set))
알고리즘:
- (0,0) 부터 (4,4)까지 차례대로 dfs에 삽입
- result는 str로 바꾸어서 해당 좌표의 값을 붙임
- 만약 문자열의 길이가 6개가 되면 집합인 result_set에 add
- 그리고 dfs 함수에 받은 i j 에 dx dy값을 더해서 0보다 크고 4보다 작으면 다시 dfs에 삽입
열심히 하자 dfs !!
'algorithm > HUFS 2022 하계 모각코' 카테고리의 다른 글
<2022모각코/TIL> [백준/python] 2156- 포도주 시식 (0) | 2022.08.20 |
---|---|
<2022모각코/TIL> [백준/python] 2579- 계단오르기 (0) | 2022.08.18 |
<2022모각코/TIL> [백준/python] 5566 - 주사위 게임 (0) | 2022.08.10 |
<2022모각코/TIL> 코드트리 - 그래프 탐색 (0) | 2022.08.07 |
<2022모각코/TIL> [백준/python] 3048 - 개미 (0) | 2022.08.05 |
Comments