https://www.acmicpc.net/problem/14567
>>문제 포인트
: 위상정렬 문제인데 위상정렬로 안품
: A<B라는 조건을 활용
: 연결정보가 주어지면 무조건 한번 더 들어야 함
: 앞에서부터 최소 학기를 완성하고 하나씩 result 배열 완성해주기
v,e = map(int, input().split())
result = [1]*(v+1)
edge=[]
for _ in range(e):
a,b = map(int, input().split())
edge.append((a,b))
#각 과목 번호로 오름차순 하여 선수과목에 따른 최소이수 학기를 하나씩 완성해감
edge.sort(key=lambda x: (x[1], x[0]))
for i in edge:
result[i[1]]= max(result[i[1]], result[i[0]]+1)
print(*result[1:])
'백준 문풀' 카테고리의 다른 글
[Python] 자료구조 - 25192. 인사성 바른 곰곰이 (실4) (0) | 2023.07.31 |
---|---|
[Python] 그리디-14916. 거스름돈 (실5) (0) | 2023.07.30 |
[Python] Kruskal - 2287. 행성터널[플5] (0) | 2023.07.30 |
[Python] 그리디 - 2212. 센서 (골5) (0) | 2023.07.29 |
[Python] 그리디-1213. 팰린드롬 만들기 (실3) (0) | 2023.07.28 |