Kết hợp pre/post quanh next() với khả năng một middleware KHÔNG gọi next(). Khi middleware k không next, các middleware sau k không có pre; phần post chỉ chạy ngược cho các middleware từ k trở về đầu (k tự xử lý post của nó vì code sau "next() không gọi" vẫn chạy nếu viết sau lệnh return... ở đây ta quy ước: middleware không next thì KHÔNG có post của chính nó).
Cho N middleware kèm cờ next. Mỗi middleware in "pre <tên>". Nếu next=1 thì in post sau khi chuỗi con trở về. Middleware đầu tiên có next=0 sẽ chặn (không có pre của các cái sau, và bản thân nó không in post). In log đầy đủ.
Input:
3
A 1
B 0
C 1
Output:
pre A
pre B
post A
pre A, pre B; B cờ 0 chặn (không post B, không pre C). Quay lại post của A (đã next). Kết quả: pre A, pre B, post A.
Dòng 1: N. N dòng tiếp theo: "tên cờ" (cờ 1/0).
1 ≤ N ≤ 500.
In các dòng log theo thứ tự thực thi.
Ví dụ:
Đầu vào:
3
A 1
B 0
C 1
Đầu ra:
pre A
pre B
post A
Giải thích:
Đang tải editor...