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

    solution

    Đề bài: [Hệ điều hành Unix] Đường đi tới tiến trình gốc

    Đường đi tới tiến trình gốc

    Từ một tiến trình bất kỳ, ta có thể lần theo ppid để đi ngược lên tới tiến trình gốc (tiến trình mà cha của nó không còn nằm trong danh sách, ví dụ trỏ tới init/0). Chuỗi này chính là dãy tổ tiên của tiến trình.

    Cho cây tiến trình và một tiến trình q, hãy in đường đi từ q lên tới gốc, bắt đầu bằng q.

    Ví dụ

    Cây 1→2→3: đường đi từ 3 là 3 2 1.

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

      Dòng 1: n. n dòng: pid ppid. Dòng cuối: q.

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

      1 ≤ n ≤ 5000.

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

      Một dòng: các pid trên đường đi từ q lên gốc, cách nhau dấu cách.

    Ví dụ:

    Đầu vào:

    3
    1 0
    2 1
    3 2
    3
    

    Đầu ra:

    3 2 1

    Giải thích:

    Từ tiến trình 3 lần theo ppid: 3 → 2 → 1. Tiến trình 1 có cha là 0 (ngoài danh sách) nên là gốc.

    Đang tải editor...