trang chủ / đề bài / gr15_cutvert

Đóng cửa thành phố

Đề bài

Mô tả

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

Với mỗi thành phố x, giả sử thành phố x bị đóng cửa: nó và mọi con đường nối tới nó bị bỏ đi. Hãy cho biết n−1 thành phố còn lại chia thành bao nhiêu vùng, biết rằng hai thành phố cùng một vùng khi và chỉ khi đi được từ thành phố này tới thành phố kia bằng các con đường còn lại.

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 n dòng, dòng thứ x là số vùng khi thành phố x bị đóng cửa.

Ràng buộc

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

Ví dụ

Input Output Giải thích
7 8
1 2
2 3
3 1
3 4
4 5
4 6
6 7
7 4
1
1
2
3
1
1
1
Đóng thành phố 4 thì còn ba vùng {1,2,3}, {5}, {6,7}. Đóng thành phố 3 thì còn hai vùng {1,2} và {4,5,6,7}.
5 2
2 3
3 4
2
3
4
3
2
Ban đầu có ba vùng {1}, {2,3,4}, {5}. Đóng thành phố 1 thì vùng {1} biến mất, còn 2 vù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.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