전체 글

전체 글

    백준 2252번: 줄세우기 - 위상정렬

    https://www.acmicpc.net/problem/2252 위상정렬은 순서가 정해져있는 작업을 차례로 수행해야 할 때 그 순서를 결정해 주기 위해 사용하는 알고리즘입니다. 예를 들어 A의 작업보다 B의 작업이 먼저 처리 되어야하고, C의 작업이 A의 작업보다 먼저 처리 되어야 한다면 C - A - B 의 순서대로 일을 처리해야 할 것입니다. A의 작업보다 B의 작업이 먼저 처리 되어야하고, C의 작업도 B의 작업보다 먼저 처리 되어야 한다면 A - C - B 도 되고, C - A - B 도 됩니다. 그래서 위상정렬 특성상 별 다른 조건이 없을 경우 여러 답이 나올 수 있습니다. 이제 위에서 얘기한 "작업"을 학생들의 "키"로 생각해보겠습니다. 학생 A의 키가 B보다 크고, C의 키가 A보다 크다는..