Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [Thiết kế Web] Xóa nhánh removeChild

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 12: JavaScript cho Website (1): window, document, sự kiện, DOM — khóa Thiết kế Web

    Mô phỏng lệnh removeChild: xóa một nút và TOÀN BỘ các nút con, cháu của nó (cả nhánh cây con gốc tại nút đó) khỏi cây. Cho cây DOM và chỉ số nút cần xóa, hãy tính số nút bị xóa và các nút còn lại trong cây.

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

      Dòng đầu là số nguyên n (số nút trong cây, 1 ≤ n ≤ 200). n dòng tiếp theo, dòng thứ i (1 ≤ i ≤ n) mô tả nút có chỉ số i theo cú pháp: "parentIdx tagName classes attrs"

      • parentIdx: chỉ số nút cha (0 nếu là nút gốc; nút gốc luôn có chỉ số 1). Nút cha luôn có chỉ số nhỏ hơn nút con (dữ liệu được cho theo thứ tự tạo/duyệt, đúng thứ tự các nút con được thêm vào — coi đây là thứ tự anh em trong cây).
      • tagName: tên thẻ HTML (chữ thường, không khoảng trắng).
      • classes: danh sách class cách nhau bởi dấu phẩy (không khoảng trắng), hoặc "-" nếu không có class.
      • attrs: danh sách cặp "tên=giá_trị" cách nhau bởi dấu chấm phẩy (không khoảng trắng), hoặc "-" nếu không có thuộc tính nào (giá trị không chứa dấu chấm phẩy hay khoảng trắng). Dòng cuối: "REMOVE idx", trong đó idx là chỉ số nút cần xóa.
    • Ràng buộc đầu vào:

      2 ≤ n ≤ 200. idx khác 1 (không xóa nút gốc).

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

      In ra hai dòng: Dòng 1: "Số nút bị xóa: X" với X là tổng số nút bị xóa (bao gồm cả nút được chỉ định). Dòng 2: "Các nút còn lại: a,b,c" liệt kê chỉ số các nút còn lại theo thứ tự tăng dần, cách nhau bởi dấu phẩy (không khoảng trắng); nếu không còn nút nào, in "không có".

    Ví dụ:

    Đầu vào:

    5
    0 div - -
    1 p - -
    1 span - -
    2 b - -
    2 i - -
    REMOVE 2
    

    Đầu ra:

    Số nút bị xóa: 3
    Các nút còn lại: 1,3

    Chủ đề

    🌐 Thiết kế WebThiết kế WebThiết kế Web: DOM — Truy vấn & Thao tácTất cả môn học

    Đang tải editor...