trang chủ / bài tập / buildroads

Xây Đường

Đề bài

Mô tả

Byteland có n thành phố và m con đường hai chiều. Hãy tìm số con đường tối thiểu cần xây thêm để tất cả các thành phố được kết nối với nhau (có thể đi từ bất kỳ thành phố nào đến bất kỳ thành phố nào).

Dữ liệu vào

  • Dòng 1: hai số nguyên nm.
  • m dòng tiếp theo: mỗi dòng gồm hai số nguyên ab — hai đầu của một con đường.

Dữ liệu ra

  • Dòng 1: số nguyên k — số con đường cần xây thêm.
  • k dòng tiếp theo: mỗi dòng gồm hai số nguyên — hai thành phố nối bởi con đường mới.

Ràng buộc

  • 1n105
  • 1m2×105
  • 1a,bn

Ví dụ

Input Output Giải thích
4 2
1 2
3 4
1
2 3
Hai thành phần {1,2} và {3,4} — cần 1 đường nối.
5 0 4
1 2
2 3
3 4
4 5
5 thành phố biệt lập — cần 4 đường.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0