BOJ 8539 LinkNet
BOJ 8539 LinkNet
문제 내용
여러 대의 컴퓨터가 선형 링크 네트워크를 통해서 통신하려고 합니다. 번 노드에 접속한 컴퓨터와 번 노드에 접속한 컴퓨터가 서로 통신할 때 이상 이하의 번호를 갖는 모든 노드를 점유하게 되며, 각 노드는 동시에 두 개의 통신을 할 수 없습니다. 서로 노드가 겹치지 않는 여러 개의 통신은 동시에 이루어질 수 있으며, 이러한 모든 통신을 처리하는 데에는 1초가 걸립니다.
이때, 주어진 통신 요청을 모두 처리하기 위해 필요한 최소 시간이 몇 초인지 구하세요.
입력
첫 줄에는 통신 요청의 개수 이 주어집니다. ()
다음 줄부터 각 줄에 각각의 통신 요청에서 두 컴퓨터가 접속한 노드의 번호 , 가 주어집니다. ()
출력
문제의 정답을 출력합니다.
문제 풀이
스포일러
이 문제는 다음과 같은 그리디로 해결할 수 있습니다.
- 모든 통신의 시작점과 끝점을 모아서 오름차순으로 정렬합니다. 어떤 통신의 끝점과 다른 통신의 시작점이 공유될 수 없으므로, 같은 시간에 대해서는 시작점인 것이 끝점보다 먼저 오도록 합니다.
- 맨 앞에서부터 보면서 다음과 같이 처리합니다.
- 어떤 통신의 시작점이라면 사용 중인 슬롯의 개수를 1 늘립니다.
- 어떤 통신의 끝점이라면 사용 중인 슬롯의 개수를 1 줄입니다.
- 전체 과정에서 사용 중인 슬롯의 최대 개수를 구해 출력합니다.
Last updated on