Công tắc đèn cây con
Đề bài
Mô tả
Cho một cây có gốc gồm đỉnh, đỉnh là gốc. Mỗi đỉnh chứa một bóng đèn đang ở trạng thái bật () hoặc tắt ().
Cây con của đỉnh là tập tất cả các đỉnh mà đường đi ngắn nhất từ chúng tới gốc phải đi qua (bao gồm chính ).
Bạn phải xử lý truy vấn, mỗi truy vấn thuộc một trong hai loại:
- pow v: đảo trạng thái mọi bóng đèn trong cây con của (đèn đang bật thì tắt đi, đang tắt thì bật lên).
- get v: đếm số bóng đèn đang bật trong cây con của .
Dữ liệu vào
- Dòng đầu chứa số nguyên : số đỉnh của cây.
- Dòng thứ hai chứa số nguyên (), trong đó là cha của đỉnh . Khi dòng này rỗng.
- Dòng thứ ba chứa số nguyên (): trạng thái ban đầu của đèn tại đỉnh .
- Dòng thứ tư chứa số nguyên : số truy vấn.
- dòng tiếp theo, mỗi dòng có dạng get v hoặc pow v ().
Dữ liệu ra
Với mỗi truy vấn get v, in ra trên một dòng số bóng đèn đang bật trong cây con của .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 1 1 1 0 0 1 9 get 1 get 2 get 3 get 4 pow 1 get 1 get 2 get 3 get 4 |
2 0 0 1 2 1 1 0 |
Ban đầu đèn bật ở đỉnh và . Cây con của (cả cây) có đèn bật, cây con của , đều có , cây con của có . Sau pow 1 mọi đèn bị đảo: bật ở , ; tắt ở , . Khi đó cây con của có đèn bật, của và mỗi cây , của có . |
| 1 1 4 pow 1 get 1 pow 1 get 1 |
0 1 |
Cây chỉ có một đỉnh với đèn bật. pow 1 tắt đèn nên get 1 trả về ; pow 1 lần nữa bật lại nên get 1 trả về . |
Bình luận