728x90
반응형
정렬 & DFS 문제이다. 현재 회의가 끝나는 시간이 제일 늦은 회의 시작 시간보다 크면 더 이상 회의를 할 수 없는 상황이므로 여태까지 회의에 참여한 인원수를 리스트에 추가해준다. 마지막에 리스트의 최댓값을 출력해주면 끝이다.
import sys
sys.setrecursionlimit(3000000)
def dfs(node, t):
t += li[node][2]
if li[node][1] > max_s:
res.append(t)
for n in range(node+1, N):
if li[node][1] > li[n][0]:
continue
dfs(n, t)
N = int(input())
li = [list(map(int, input().split())) for _ in range(N)]
li.sort(key=lambda x:(x[0], x[1]))
res = []
max_s = max([s for s, e, n in li])
for i in range(N):
dfs(i, 0)
print(max(res))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 1325번 효율적인 해킹(python) (0) | 2021.03.16 |
---|---|
백준 알고리즘 16390번 Sheba’s Amoebas(python) (0) | 2021.03.16 |
백준 알고리즘 2210번 숫자판 점프(python) (0) | 2021.03.16 |
백준 알고리즘 11370번 Spawn of Ungoliant(python) (0) | 2021.03.14 |
백준 알고리즘 6031번 Feeding Time(python) (0) | 2021.03.14 |