그래프 그리고 DFS~
import sys
input = sys.stdin.readline
def DFS(cur_node, target):
if cur_node==target:
return True
for next_node in graph[cur_node]:
if not visited[next_node]:
visited[next_node] = True
if DFS(next_node, target):
return True
n = int(input())
graph = {i:[] for i in range(26)}
level = {i:0 for i in range(26)}
for _ in range(n):
first, arrow, end = input().split()
first_num = ord(first)-97
end_num = ord(end)-97
graph[first_num] += [end_num]
m = int(input())
for _ in range(m):
first, arrow, end = input().split()
visited = {i:False for i in range(26)}
first_num = ord(first)-97
end_num = ord(end)-97
visited[first_num] = True
print('T' if DFS(first_num,end_num) else 'F')
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 11569 민준이의 계략 (1) | 2021.08.15 |
---|---|
[백준][Python] 14627 파닭파닭 (0) | 2021.08.15 |
[백준][Python] 11265 끝나지 않는 파티 (0) | 2021.08.12 |
[백준][Python] 9372 상근이의 여행 (0) | 2021.08.12 |
[백준][Python] 18808 스티커 붙히기 (0) | 2021.08.11 |