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] Dựng cây bằng appendChild

    📖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 việc dựng một cây DOM bằng các lệnh appendChild.

    Bắt đầu chỉ có một nút gốc, sau đó thực hiện tuần tự các lệnh tạo phần tử mới và thêm vào làm CON CUỐI CÙNG (append) của một nút cha đã tồn tại. Mỗi phần tử mới được tạo sẽ nhận chỉ số bằng thứ tự tạo ra nó (nút gốc có chỉ số 1, phần tử tạo ra ở lệnh thứ j có chỉ số j+1).

    Hãy in ra kết quả duyệt cây theo THỨ TỰ TRƯỚC (preorder, con theo đúng thứ tự đã append).

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

      Dòng 1: tên thẻ của nút gốc. Dòng 2: số nguyên k — số lệnh appendChild (0 ≤ k ≤ 100). k dòng tiếp theo, mỗi dòng là "parentIdx tagName", nghĩa là tạo một phần tử tên tagName và append vào làm con cuối cùng của nút có chỉ số parentIdx (parentIdx là chỉ số một nút đã tồn tại tại thời điểm đó).

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

      0 ≤ k ≤ 100.

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

      In ra kết quả duyệt tiền tố (preorder) của cây sau khi thực hiện hết các lệnh, mỗi nút một dòng theo định dạng "depth tagName", trong đó depth là độ sâu của nút (gốc có depth = 0).

    Ví dụ:

    Đầu vào:

    div
    3
    1 p
    1 span
    2 b
    

    Đầu ra:

    0 div
    1 p
    2 b
    1 span

    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...