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

    solution

    Đề bài: [Giải thuật] Đếm thành phần liên thông mạnh

    Cho một đồ thị có hướng gồm nnn đỉnh (đánh số từ 111 đến nnn) và mmm cung. Một thành phần liên thông mạnh (SCC) là tập đỉnh tối đại sao cho từ mỗi đỉnh đều có đường đi tới mọi đỉnh khác trong tập và ngược lại.

    Hãy đếm số thành phần liên thông mạnh của đồ thị.

    Ví dụ: Với 555 đỉnh và các cung 1→2,2→3,3→1,3→4,4→51\to2, 2\to3, 3\to1, 3\to4, 4\to51→2,2→3,3→1,3→4,4→5, các SCC là {1,2,3},{4},{5}\{1,2,3\}, \{4\}, \{5\}{1,2,3},{4},{5} nên đáp án là 333.

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

      Dòng đầu chứa hai số nguyên nnn và mmm. mmm dòng tiếp theo, mỗi dòng hai số nguyên u vu\ vu v mô tả cung có hướng từ uuu tới vvv.

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

      1≤n≤1051 \le n \le 10^51≤n≤105, 0≤m≤2⋅1050 \le m \le 2\cdot10^50≤m≤2⋅105, 1≤u,v≤n1 \le u, v \le n1≤u,v≤n. Có thể có cạnh lặp và khuyên.

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

      In ra một số nguyên duy nhất là số thành phần liên thông mạnh.

    Ví dụ:

    Đầu vào:

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

    Đầu ra:

    3

    Giải thích:

    Các SCC là {1,2,3}, {4}, {5}. Chu trình 1->2->3->1 gộp ba đỉnh đầu thành một thành phần, hai đỉnh còn lại mỗi đỉnh một thành phần, tổng cộng 3.

    Đang tải editor...