난이도 : D4
문제번호 : 1219
※ 저의 풀이가 무조건적인 정답은 아닙니다.
다른 코드가 좀더 효율적이고 좋을 수 있습니다.
다른사람들의 풀이는 언제나 참고만 하시기 바랍니다.
문제 주소 및 출처입니다.
목차
1. 문제 설명
2. 문제 해석
3. 소스 코드
1. 문제 설명
그림과 같이 도식화한 지도에서 A도시에서 출발하여 B도시로 가는 길이 존재하는지 조사하려고 한다.
|
제한
출발점은 0, 도착점은 99으로 표현된다. 정점(분기점)의 개수는 98개(출발점과 도착점 제외)를 넘어가지 않으며, 한 개의 정점에서 선택할 수 있는 길의 개수도 2개를 넘어가지 않는다. 아래 제시된 가이드 라인은 제안사항일 뿐 강제사항은 아니다. |
입력
각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호와 길의 총 개수가 주어지고 그 다음 줄에는 순서쌍이 주어진다. |
출력
# 부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다. |
예시
입력 | 출력 |
홈페이지 참고 | 홈페이지 참고 |
2. 문제풀이
이전에 풀었던 그래프 경로와 같은 타입의 문제이다. (mungto.tistory.com/142) |
3. 소스코드
# D4 1219 길찾기
def dfs(node_index, visited, nodes):
visited[node_index] = 1
for node in nodes[node_index]:
if visited[node] != 1:
dfs(node, visited, nodes)
for t in range(10):
_, E = map(int, input().split())
nodes = [ [] for _ in range(100) ]
input_datas = list(map(int, input().split()))
for i in range(0, len(input_datas), 2):
start = input_datas[i]
end = input_datas[i+1]
nodes[start].append(end)
S, G = 0, 99
visited = [ 0 for _ in range(100)]
dfs(S, visited, nodes)
answer = 0
if visited[G] == 1:
answer = 1
print('#{} {}'.format(t+1, answer))
|
'코딩테스트 > SWExpertAcademy' 카테고리의 다른 글
이진힙 Python(SW Expert Academy) (0) | 2021.04.06 |
---|---|
사칙연산 Python(SW Expert Academy) (0) | 2021.04.05 |
오목 판정 Python(SW Expert Academy, SWEA) (0) | 2021.02.23 |
진기의 최고급 붕어빵 Python(SWEA) (0) | 2021.02.21 |
현주의 상자 바꾸기 Python(SWEA) (0) | 2021.02.19 |
댓글