완벽한 도시 설계

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

요약
N개 도시가 각각 나가는 도로를 하나씩 가질 때, 모든 도시에서 모든 도시로 갈 수 있도록 목적지를 바꾸는 최소 횟수를 구한다.
난이도

보통10점 중 7점

유형
그래프, 유니온 파인드, 구현, 수학
정답자
아직 제출이 없습니다

문제

건덕이가 설립한 오리 왕국은 11부터 NN까지 NN개의 도시로 이루어져 있다. 각 도시는 자신 혹은 다른 도시로 향하는 일방통행 도로를 단 한 개만 가지고 있다. 왕국을 다스리던 건덕이는 어떤 도시에서 도로를 이용해 도달할 수 없는 도시가 존재할 수 있음을 알아챘다.

건덕이는 어떤 도시에서 출발하더라도 모든 도시를 방문할 수 있도록 도로를 최소한으로 수정하기로 했다. 건덕이는 도로를 아래와 같은 방법으로 수정한다.

  • 도시 AA에서 출발하는 도로의 목적지를 수정한다. (1≤A≤N)\left(1 \le A \le N \right)

건덕이를 위해 어떤 도시에서 출발하더라도 모든 도시를 방문할 수 있도록 만드는 도로의 최소 수정 횟수를 구해주자!

입력

첫째 줄에 도시의 개수 NN이 주어진다. (2≤N≤1,000,000)\left(2 \le N \le 1,000,000\right)

둘째 줄에 도시별로 연결된 도시 NN개가 공백으로 구분되어 주어진다. ii번째 값은 ii번째 도시에서 출발하는 도로의 목적지이다. (1≤i≤N)\left(1 \le i \le N \right)

출력

어떤 도시에서 출발하더라도 모든 도시를 방문할 수 있도록 만드는 도로의 최소 수정 횟수를 출력한다.

힌트

예제 입력 1의 예시 이미지

예제1

  1. 예제 1

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