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

    solution

    Đề bài: [C] BFS đơn giản — Hàng đợi động trên đồ thị vô hướng

    Cho đồ thị vô hướng nnn đỉnh (0-indexed) và mmm cạnh. Hãy thực hiện duyệt BFS bắt đầu từ đỉnh 0, in các đỉnh theo thứ tự BFS, cách nhau dấu cách.

    Yêu cầu cấp phát động: danh sách kề int **adj qua malloc/realloc; hàng đợi BFS int *q cũng cấp phát động. Để kết quả xác định, hãy sắp xếp tăng dần các đỉnh kề trước khi BFS (chỉ duyệt thành phần liên thông chứa đỉnh 0).

    Ví dụ với n=6n=6n=6, cạnh (0,1) (0,2) (1,3) (2,4) (3,5) → BFS: 0 1 2 3 4 5.

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

      Dòng 1: nnn mmm. mmm dòng tiếp theo, mỗi dòng u v (0-indexed).

    • 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\cdot 10^50≤m≤2⋅105, 0≤u,v<n0 \le u,v < n0≤u,v<n.

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

      Một dòng các đỉnh theo thứ tự BFS xuất phát từ 0.

    Ví dụ:

    Đầu vào:

    6 5
    0 1
    0 2
    1 3
    2 4
    3 5
    

    Đầu ra:

    0 1 2 3 4 5

    Giải thích:

    Lớp 0: {0}; lớp 1: {1,2}; lớp 2: {3,4}; lớp 3: {5}.

    Đang tải editor...