만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

소 빨래줄 정리

면접 대비

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

요약
위쪽과 아래쪽 홀더의 전선 순서가 주어질 때, 인접한 끝 두 개를 바꿔 줄이 교차하지 않게 만드는 최소 교환 횟수를 구합니다.
난이도

보통10점 중 5점

유형
배열, 정렬
정답자
아직 제출이 없습니다

문제

소들이 빨래를 말리려고 전선 NN개(1≤N≤10001 \le N \le 1000)가 달린 빨랫줄을 세웠다. 소는 엄지손가락이 마주 보지 않아서 작업에 실패했고, 그 결과 전선들이 서로 꼬였다. 전선이 4개인 빨랫줄의 예는 다음과 같다.

   Wire slot: 1   2    3    4
              ---------------   <-- the holder of the wires
              \    \  /    /
               \    \/    /
                \   /\   /       
                 \ /  \ /       <-- actual clothes lines
                  /    \
                 / \  / \
                /   \/   \
               /    /\    \
              /    /  \    \
              ---------------   <-- the holder of the wires
   Wire slot: 1   2    3    4

전선이 꼬여 있다. 이대로는 쓸 수 없다.

소들은 최소한의 노력으로 빨랫줄을 풀고 싶어 한다. 팔이 짧아서 위쪽이나 아래쪽 고정대에서 인접한 두 전선 끝을 맞바꾸는 연산만 할 수 있다. 위 그림의 경우 이런 교환을 4번 하면 올바른 배치가 된다.

              1   2   3   4
              -------------   <-- the holder of the wires
              |   |   |   |
              |   |   |   |
              |   |   |   |
              |   |   |   |
              |   |   |   |
              |   |   |   |
              |   |   |   |
              |   |   |   |
              |   |   |   |
              -------------   <-- the holder of the wires
              1   2   3   4

빨랫줄을 바르게 정리하는 데 필요한 인접 교환 횟수의 최솟값을 구하라.

입력

첫 줄에 정수 NN이 주어진다. 이어지는 NN개의 줄에는 각각 1부터 NN까지의 정수 두 개가 주어진다. 첫 번째 정수는 위쪽 고정대에 있는 전선 번호이고, 두 번째 정수는 같은 칸의 아래쪽 고정대에 있는 전선 번호이다. 둘째 줄은 위쪽 1번 칸과 아래쪽 1번 칸, 셋째 줄은 위쪽 2번 칸과 아래쪽 2번 칸을 나타낸다.

출력

인접한 전선을 교환하는 최소 횟수를 정수 하나로 출력한다.

힌트

위쪽의 3번 전선을 왼쪽으로 한 칸 옮기고, 다시 왼쪽으로 한 칸 옮긴다. 4번 전선도 같은 방법으로 옮긴다.

예제1

  1. 예제 1

    입력
    4
    4 1
    2 3
    1 4
    3 2
    
    예상 출력
    4