티스토리 뷰
728x90
thinking
visited 라는 방문체크 리스트를 만들어주고 갈 수 있는 노드를 전부 방문하면서 99번에 도착하는지 확인한다.
코드 (인접리스트 ver)
for tc in range(10):
# t: 테스크케이스 번호, E: 간선의 개수(길의 개수)
t, E = map(int, input().split())
edge_list = [[] for _ in range(100)]
edge_input = list(map(int, input().split()))
# 화살표 있으면 1로 변경
for i in range(E):
start_node = edge_input[i * 2]
end_node = edge_input[i * 2 + 1]
edge_list[start_node].append(end_node)
visited = [False] * 100
stack = [0]
while stack: # stack이 빌 때 까지 반복. 내가 왔던 길을 넣음.
now = stack.pop() # 나의 현재위치(현재 있는 노드)
if not visited[now]: # 아직 방문 안했으면
visited[now] = True # 방문도장 찍어주고
for v in edge_list[now]:
if not visited[v]:
stack.append(v)
# 99번에 방문했다면 1 출력, 방문 못했으면(i.e. 값이 1이 아니면) 0 출력
result = 1 if visited[99] else 0
print("#{} {}".format(t, result))
코드 (인접행렬 ver)
for tc in range(10):
# t: 테스크케이스 번호, E: 간선의 개수(길의 개수)
t, E = map(int, input().split())
edge_matrix = [[0 for _ in range(100)] for _ in range(100)]
edge_input = list(map(int, input().split()))
# 화살표 있으면 1로 변경
for i in range(E):
start_node = edge_input[i * 2]
end_node = edge_input[i * 2 + 1]
edge_matrix[start_node][end_node] = 1
visited = [False] * 100
stack = [0]
while stack: # stack이 빌 때 까지 반복. 내가 왔던 길을 넣음.
now = stack.pop() # 나의 현재위치(현재 있는 노드)
if not visited[now]: # 아직 방문 안했으면
visited[now] = True # 방문도장 찍어주고
# 모든 노드 반복하면서, 아직 방문 안했으면서 길이 있는 애들은 stack에 넣어줌
for v in range(100):
if not visited[v] and edge_matrix[now][v] == 1:
stack.append(v)
# 99번에 방문했다면 1 출력, 방문 못했으면(i.e. 값이 1이 아니면) 0 출력
result = 1 if visited[99] else 0
print("#{} {}".format(t, result))
'algorithm > swea' 카테고리의 다른 글
[swea] 1225. 암호생성기 / python 파이썬 (0) | 2021.04.08 |
---|---|
[swea] 1220. Magnetic / python 파이썬 (0) | 2021.04.08 |
[swea] 4869. 종이붙이기 / python 파이썬 (0) | 2021.04.08 |
[swea] 1860. 진기의 최고급 붕어빵 / python 파이썬 (0) | 2021.02.26 |
[swea] 1954. 달팽이 숫자 / python 파이썬 / 2차원 배열의 인덱스 접근 (1) | 2021.02.17 |
댓글
글 보관함
TAG
- 영어끝말잇기
- merge 에러
- 보석쇼핑
- 21609 상어 중학교
- 2579 계단오르기
- 20056 마법사 상어와 파이어볼
- 2018 카카오 공채
- 파이썬
- 17406 배열돌리기4
- 20057 마법사 상어와 토네이도
- 브루트포스
- dp
- dfs
- merge에러
- 삼성코테
- git 미러링
- 기지국설치
- swea
- 프로그래머스
- 알고리즘
- BFS
- 삼성기출
- react
- Python
- 백준
최근에 올라온 글
- Total
- Today
- Yesterday
최근에 달린 댓글