Đường mới

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: 1400 Thời gian: 1.0s Bộ nhớ: 500M Input: bàn phím Output: màn hình

August IV là một quốc vương thông thái và công bằng. Ông chủ trương phát triển quan hệ thương mại giữa các thành phố trong nước.

Trong vương quốc có \(n\) thành phố và hiện có \(m\) đường thương mại. Mỗi đường thương mại nối trực tiếp \(2\) thành phố và là đường một chiều. Không có đường thương mại nào nối một thành phố với chính nó và không có hai đường thương mại nào có cùng thành phố xuất phát và kết thúc.

Thương nhân mang hàng hóa đi bán ở các thành phố khác và sẽ là tốt nhất nếu anh ta mua được hàng hóa mới và trở về thành phố của mình không phải với chiếc xe ngựa rỗng. Dĩ nhiên, khi đó vì mục đích an toàn, anh ta phải quay về bằng đường thương mại.

Nếu từ \(A\) có thể tới \(B\) theo các con đường thương mại và từ \(B\) có thể trở về \(A\) cũng theo các con đường thương mại thì \(A\) và \(B\) là hai thành phố thân thiện.

Để giảm bớt nỗi cực nhọc của các thương nhân bình dân, August cho sửa sang lại các tuyến thương mại hiện có và cho xây dựng thêm một số đường thương mại mới. Tuy vậy, với ngân khố quốc gia hạn chế, nhà vua quyết định chỉ mở thêm các đường thương mại nối các thành phố thân thiện và không trùng lặp với các đường hiện có, sao cho giữa các thành phố thân thiện luôn có thể đi được đến nhau bằng các đường nối trực tiếp.

Yêu cầu: Cho \(n, m\) và mạng đường thương mại hiện có. Không có đường nào nối một thành phố với chính nó. Hãy xác định số đường mới tối thiểu cần xây dựng thêm.

Input

  • Dòng đầu tiên chứa \(2\) số nguyên \(n\) và \(m\) \((1 \leq n \leq 100000, 0 \leq m \leq 200000)\),
  • Mỗi dòng trong \(m\) dòng tiếp theo chứa \(2\) số nguyên \(A\) và \(B\) xác định đường thương mại đi trực tiếp từ \(A\) đến \(B\).

Output

  • Một số nguyên – kết quả tìm được.

Example

Test 1

Input
3 3
1 2
2 3
3 1
Output
3
Note

Bình luận

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

Không có bình luận nào.