trang chủ / đề bài / gr15_scc

Đường một chiều

Đề bài

Mô tả

Một thành phố có n nút giao thông đánh số từ 1 đến n và m con đường một chiều, con đường thứ i đi từ nút ui tới nút vi. Có thể có nhiều con đường cùng đi từ ui tới vi.

Hai nút a và b thuộc cùng một khu nếu đi được từ a tới b và cũng đi được từ b về a theo các con đường (mỗi nút luôn cùng khu với chính nó). Các nút được chia thành các khu như vậy.

Hãy cho biết:

  1. Số khu.
  2. Số nút của khu lớn nhất.
  3. Số con đường một chiều mới ít nhất cần xây thêm (mỗi con đường mới nối hai nút bất kỳ theo một chiều tùy chọn) để toàn bộ thành phố trở thành một khu duy nhất.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên n và m.
  • m dòng tiếp theo, dòng thứ i chứa hai số nguyên ui,vi.

Dữ liệu ra

In ra ba số nguyên trên một dòng: số khu, số nút của khu lớn nhất và số con đường cần xây thêm ít nhất.

Ràng buộc

  • 1≤n≤105
  • 0≤m≤2·105
  • 1≤ui,vi≤n, ui≠vi

Ví dụ

Input Output Giải thích
6 7
1 2
2 3
3 1
3 4
4 5
5 4
6 5
3 3 2 Ba khu {1,2,3}, {4,5}, {6}. Xây hai đường 5→1 và 5→6 là đủ.
3 3
1 2
2 3
3 1
1 3 0 Cả thành phố đã là một khu, không cần xây thêm.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0