전깃줄

면접 대비

시간 제한1초메모리 제한128 MB

요약
두 기둥을 잇는 전선들이 주어질 때, 서로 교차하지 않도록 제거해야 할 최소 전선 수를 구하는 문제로 최장 증가 부분수열을 이용해 해결합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 이분 탐색, 정렬
정답자
아직 제출이 없습니다

문제

두 전봇대 A와 B 사이에 전깃줄을 하나씩 추가하다 보니 서로 교차하는 전깃줄이 생겼다. 교차하는 전깃줄은 위험하므로, 일부 전깃줄을 없애 남아 있는 어떤 두 전깃줄도 서로 교차하지 않게 만들려고 한다.

각 전봇대에서 전깃줄이 연결되는 위치는 위에서부터 차례대로 번호가 매겨져 있다. 전깃줄의 개수와 각 전깃줄이 두 전봇대의 어느 위치를 잇는지가 주어질 때, 남은 모든 전깃줄이 서로 교차하지 않도록 하기 위해 없애야 하는 전깃줄의 최소 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 두 전봇대 사이의 전깃줄 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다.

둘째 줄부터는 한 줄에 하나씩, 전깃줄이 A 전봇대에 연결되는 위치 번호와 B 전봇대에 연결되는 위치 번호가 차례로 주어진다. 위치 번호는 500 이하의 자연수이며, 같은 위치에 두 개 이상의 전깃줄이 연결되는 경우는 없다.

출력

남은 모든 전깃줄이 서로 교차하지 않게 만들기 위해 없애야 하는 전깃줄의 최소 개수를 첫째 줄에 출력한다.

예제1

  1. 예제 1

    입력
    8
    1 8
    3 9
    2 2
    4 1
    6 4
    10 10
    9 7
    7 6
    
    예상 출력
    3