CSES - Flight Route Requests | Yêu Cầu Đường Bay

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1700 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

\(n\) thành phố với các sân bay nhưng không có kết nối chuyến bay. Bạn được cho \(m\) yêu cầu những tuyến đường nào có thể đi được.

Nhiệm vụ của bạn là xác định số lượng kết nối chuyến bay một chiều tối thiểu để có thể thực hiện tất cả các yêu cầu.

Input

  • Dòng đầu vào đầu tiên chứa hai số nguyên \(n\)\(m\): số lượng thành phố và yêu cầu. Các thành phố được đánh số \(1, 2, \ldots, n\)
  • Sau đó, có \(m\) dòng mô tả các yêu cầu. Mỗi dòng có hai số nguyên \(a\)\(b\): phải có một tuyến đường từ thành phố \(a\) đến thành phố \(b\). Mỗi yêu cầu là duy nhất

Constraints

  • \(1 \leq n \leq 10^5\)
  • \(1 \leq m \leq 2\cdot 10^5\)
  • \(1 \leq a, b \leq n\)

Output

  • In một số nguyên: số lượng kết nối chuyến bay tối thiểu

Example

Test 1

Input
4 5
1 2
2 3
2 4
3 1
3 4
Output
4
Note

Bạn có thể tạo các kết nối \(1 \rightarrow 2\), \(2 \rightarrow 3\), \(2 \rightarrow 4\)\(3 \rightarrow 1\). Sau đó, bạn cũng có thể bay từ thành phố \(3\) đến thành phố \(4\) bằng cách sử dụng tuyến đường \(3 \rightarrow 1 \rightarrow 2 \rightarrow 4\).

Bình luận (1)

Mới nhất
Tải bình luận...