Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [C] Đếm cầu (bridge) trong mạng đường truyền — Tarjan

    Mạng đường truyền là đồ thị vô hướng nnn đỉnh, mmm cạnh (có thể nhiều thành phần liên thông, có thể có cạnh song song). Cầu là cạnh mà khi bỏ đi sẽ làm tăng số thành phần liên thông.

    Dùng thuật toán Tarjan: DFS, duy trì tin[u]tin[u]tin[u] (thời điểm thăm) và low[u]low[u]low[u] (thời điểm sớm nhất tới được). Cạnh (u,v)(u, v)(u,v) với vvv là con DFS là cầu khi low[v]>tin[u]low[v] > tin[u]low[v]>tin[u]. Lưu ý xử lý cạnh song song: ta theo dõi id cạnh, không phải đỉnh cha.

    Hãy đếm số cầu của đồ thị.

    • Định dạng đầu vào:

      Dòng 1: nnn, mmm. mmm dòng tiếp, mỗi dòng hai số u,vu, vu,v.

    • Ràng buộc đầu vào:

      1≤n≤50001 \le n \le 50001≤n≤5000, 0≤m≤2⋅1040 \le m \le 2 \cdot 10^40≤m≤2⋅104. Có thể có cạnh song song nhưng không có cạnh tự thân.

    • Định dạng đầu ra:

      Một số nguyên — số cầu.

    Ví dụ:

    Đầu vào:

    5 5
    1 2
    2 3
    3 1
    3 4
    4 5
    

    Đầu ra:

    2

    Giải thích:

    Cầu là (3,4) và (4,5). Đáp án 2.

    Đang tải editor...