만드는 중입니다

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

Eight 2 Zero

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

요약
노드가 N개이고 링크가 N+1개인 연결된 네트워크에서, 남은 노드가 정확히 하나의 링에 속하도록 제거할 링크의 최소 개수를 구합니다.
난이도

보통10점 중 6점

유형
그래프, BFS, 구현
정답자
아직 제출이 없습니다

문제

네트워크 시스템은 노드와 링크로 구성된다. 링크는 서로 다른 두 노드를 양방향으로 연결한다. 링크로 직접 연결된 두 노드는 통신할 수 있으며, AA와 BB가 통신할 수 있고 BB와 CC가 통신할 수 있으면 AA와 CC도 통신할 수 있다.

11번부터 NN번까지 번호가 매겨진 NN개의 노드와 N+1N+1개의 링크로 이루어진 네트워크가 있다. 임의의 두 노드를 연결하는 링크는 최대 하나이고, 임의의 노드 간에 통신할 수 있는 네트워크이다.

네트워크가 너무 복잡하다고 생각한 당신은 일부 링크를 제거하기로 했다. 링크를 제거하다 보면 다른 어떤 노드와도 통신할 수 없는 노드가 생길 수 있다. 이런 노드를 비활성 노드라고 하고, 비활성 노드가 아닌 노드를 활성 노드라고 하자.

당신은 링(Ring)이 가장 단순한 구조라고 보고, 링으로만 이루어진 네트워크를 만들려고 한다. 임의의 노드 간에 통신할 수 있고, 임의의 노드에서 출발해 링크를 따라 통신을 반복하면 시작 노드로 돌아올 수 있는 부분 네트워크를 링이라고 한다. 이때 하나 이상의 링크를 사용해야 하며, 같은 링크를 두 번 이상 사용하면 안 된다. 링의 예시는 다음과 같다.

다음은 링이 아닌 네트워크의 예시이다. 링을 포함하는 네트워크는 있지만, 전체 네트워크 기준으로는 링이 아니므로 주의하자.

모든 활성 노드가 정확히 하나의 링에 속하도록 하기 위해 제거해야 하는 링크 개수의 최솟값을 구하시오.

입력

첫째 줄에 노드의 개수 NN이 주어진다. (4≤N≤300 000)(4\leq N \leq 300\,000)

둘째 줄부터 N+1N+1개의 줄에 걸쳐 링크의 정보가 주어진다. 각 줄에는 그 링크가 연결하는 두 노드의 번호가 공백으로 구분되어 주어진다.

출력

첫째 줄에 제거해야 하는 링크 개수의 최솟값을 출력한다.

예제1

  1. 예제 1

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