Khi nhiều tiến trình lần lượt kết thúc, mỗi lần một tiến trình chết thì các con trực tiếp của nó được init (PID 1) nhận nuôi (ppid đổi thành 1). Một tiến trình đã được init nhận nuôi, nếu sau đó cha mới (init) vẫn còn sống, sẽ tiếp tục là con của init.
Cho cây tiến trình và một dãy tiến trình kết thúc theo thứ tự, hãy mô phỏng quá trình reparent rồi in số tiến trình còn sống đang là con trực tiếp của init (ppid = 1, không tính chính init) và danh sách của chúng (pid tăng dần).
Nếu tiến trình 2 rồi 3 chết, các con của chúng dồn về làm con của init.
Dòng 1: n.
n dòng: pid ppid.
Dòng kế: m.
m số: dãy pid kết thúc theo thứ tự.
1 ≤ n ≤ 2000; 0 ≤ m ≤ n.
Dòng 1: số con trực tiếp của init còn sống. Dòng 2: danh sách pid tăng dần (rỗng nếu không có).
Ví dụ:
Đầu vào:
5
1 0
2 1
3 2
4 3
5 1
1
2
Đầu ra:
2
3 5
Giải thích:
Đang tải editor...