Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
BDISJCON
Mô tả và yêu cầu

BDISJCON
Cho mạng G có n đỉnh và m cung, đỉnh phát là s = 1, và đỉnh thu là t = n. Mỗi cung đều
có khả năng thông qua là 1.
Hai đường đi gọi là phân biệt từ s  t nếu giữ chúng không có cung chung nào.
Gọi F là một tập cung trọng yếu nhỏ nhất khi mọi đường đi từ s  t trên G phải đi qua
ít nhất một trong các cung thuộc F.
Yêu cầu: Hãy tìm số lượng đường đi phân biệt từ s đến t, và số lượng cạnh trọng yếu trong tập
F.

Input: BDISJCON.INP
 Dòng 1: Ghi 2 số nguyên n, m cho biết số đỉnh và số cung trong mạng G.
 m dòng tiếp theo: Mỗi dòng ghi 2 số nguyên u, v cho biết có cung nối từ u đến v
Output: BDISJCON.OUT
 Ghi 2 số nguyên dương. Số thứ 1 cho biết số lượng đường đi phân biệt tìm được. Số thứ 2
cho biết số lượng cạnh trọng yếu tìm được.

Ví dụ
BDISJCON.INP            BDISJCON.OUT             Minh họa
    8 14                    2 2
    1 2
    1 3
    1 4
    2 3
    3 4
    3 7
    4 7
    5 3
    5 8
    6 2
    6 5
    6 8
    7 6
    7 8

Giải thích:
Trong G tồn tại 2 đường đi phân biệt từ s đến t, và 2 cạnh trọng yếu như hình sau:




                                                                                                              Cạnh trọng yếu
Ràng buộc:
   0< n ≤104                                                               Cạnh trọng yếu
   0< m ≤ 106

Tải PDF gốc


Bình luận

Hãy đọc nội quy trước khi bình luận.


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