만드는 중입니다

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

미래의 고속도로

면접 대비

시간 제한6초메모리 제한2048 MB

요약
방향이 있는 고속도로로 연결된 구역들에서, 모든 구역이 서로 전력을 주고받을 수 있도록 추가해야 하는 고속도로의 최소 개수를 구합니다.
난이도

보통10점 중 6점

유형
그래프, DFS, 위상 정렬
정답자
아직 제출이 없습니다

문제

미드가드는 마나 에너지의 도시이자 세계 경제의 중심지이다. 신다 전력 회사의 회장인 신다 대통령이 도시 개발을 이끌면서, 이 대도시는 큰 번영기를 누려 왔다. 그런데 최근 Snowfall이라는 도적단이 마나 원자로를 공격해 가동을 멈추고 있다는 보고가 들어왔다. 다음 공격에 대비해 신다 대통령은 당신에게 재건 계획의 수석 엔지니어 역할을 맡겼다.

도시는 nn개의 구역으로 이루어져 있고, 각 구역에는 마나 원자로가 하나씩 있다. 마나 원자로는 땅속 깊은 곳에서 에너지를 뽑아 전기로 바꾸고, 구역 전체에 전력을 공급하는 거대한 시설이다. 현재 구역 사이에는 mm개의 고속도로가 있다. 각 고속도로는 한 구역에서 다른 구역으로 전력을 보낼 수 있으며, 방향은 한쪽뿐이다. 대통령은 어떤 원자로가 멈추더라도 최소 하나의 원자로만 가동되고 있으면 도시 전체에 전력이 공급되도록 구역 사이에 새 고속도로를 건설하라고 지시했다.

각 원자로의 마나 에너지 용량에는 제한이 없고, 직접 또는 간접적으로 연결된 구역이라면 몇 개의 구역에든 전력을 공급할 수 있다. 고속도로 건설 비용이 크기 때문에 대통령은 위 조건을 만족하면서 건설하는 고속도로의 수를 최소로 하라고도 지시했다.

입력

입력은 다음과 같다.

  • 첫 줄에 두 정수 nn (1≤n≤1051\leq n\leq 10^5)과 mm (0≤m≤2⋅1050\leq m\leq 2\cdot 10^5)이 주어진다. 각각 미드가드의 구역 수와 기존 고속도로 수이다.
  • 이어서 mm개의 줄에 두 정수 xx와 yy (1≤x,y≤n1 \leq x,y \leq n)가 한 줄씩 주어진다. 이는 구역 xx에서 구역 yy로 가는 한 방향 고속도로가 있다는 뜻이다.

출력

어떤 마나 원자로에서든 모든 구역에 전력을 공급할 수 있도록 추가로 건설해야 하는 고속도로의 최소 개수를 출력한다.

예제3

  1. 예제 1

    입력
    3 2
    1 2
    1 3
    
    예상 출력
    2
    
  2. 예제 2

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

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