컴공생의 다이어리
[파이썬, Python] 백준 1005번 : ACM Craft 본문
백준 1005번 : ACM Craft
내 코드
import sys
from collections import defaultdict, deque
input = sys.stdin.readline
for _ in range(int(input())):
n, k = map(int, input().split())
times = list(map(int, input().split()))
result = times[::]
indegree = [0] * n
arr = defaultdict(list)
for _ in range(k):
a, b = map(int, input().split())
arr[a - 1].append(b - 1)
indegree[b - 1] += 1
w = int(input()) - 1
queue = deque()
for i in range(n):
if indegree[i] == 0:
queue.append(i)
while queue:
now = queue.popleft()
for i in arr[now]:
indegree[i] -= 1
result[i] = max(result[i], result[now] + times[i])
if indegree[i] == 0:
queue.append(i)
if i == w:
break
print(result[w])
728x90
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[파이썬, Python] 백준 14676번 : 영우는 사기꾼? (0) | 2022.05.29 |
---|---|
[파이썬, Python] 백준 1474번 : 밑 줄 (0) | 2022.05.21 |
[파이썬, Python] 백준 1715번 : 카드 정렬하기 (0) | 2022.05.19 |
[파이썬, Python] 백준 1717번 : 집합의 표현 (0) | 2022.05.18 |
[파이썬, Python] 백준 11725번 : 트리의 부모 찾기 (0) | 2022.05.17 |
Comments