2019/03(22)
-
2019.03.02) 백준 dfs 특집 2편 - 14888, 2800(PyPy3)
dfs를 이런느낌으로 응용할수 있구나를 알았다. 괄호 제거는 좀 설명이 부족해서 질문되있는거 보고 테스트케이스 해보고 해결했다. 중복이 안되고, 제데로 된 수식이 아니면 진행하지 않는다는걸 좀 문제에 써주지;; 14888번 123456789101112131415161718192021222324252627282930313233# 깊이 위주 탐색def dfs(now, index, ns): n1, n2, n3, n4 = ns # 만약 입력값 넘어가면 탐색 종료 if index == c: r.append(now) return # + if n1 > 0: dfs(now + l[index], index + 1, (n1 - 1, n2, n3, n4)) # - if n2 > 0: dfs(now - l[index], in..
2019.03.02 -
2019.03.01) 백준 dfs 특집 1편 - 1182, 6603(PyPy3)
dfs는 간단하게 재귀로서 구현할수 있다. 하지만 최적화 하려면 반복문으로 구현해야하는게 사실이긴 하지만 여기선 다 2초줘서 적당히 풀었다. 1182번 123456789101112131415161718192021222324252627a, b = map(int, input().split(' '))l = list(map(int, input().split(' '))) c = 0 # 깊이 위주 서치def dfs(now, index): global c # 배열 길이보다 더 텀색할순 없으니 if index == a: return # 만약 합이 제시된것과 같으면 if now + l[index] == b: # 카운터 추가 c += 1 # 현재값에서 서치된곳의 값을 합치고 넘기고 dfs(now + l[index], in..
2019.03.01