Lista de probleme 1

Reședința Larei a fost invadată de șobolani. Putem descrie reședința Lorei ca un arbore cu N noduri având rădăcina în nodul 1. Inițial niciun nod nu este infestat. Diverse evenimente se pot întâmpla pe rând, fiecare eveniment fiind de următoarele patru tipuri:

  • 1 X – nodul X devine infestat
  • 2 X – Lora vrea să elimine șobolanii din drumul de la nodul 1 la nodul X (inclusiv) folosind ultrasunete în toate nodurile simultan. Dacă se folosesc ultrasunete într-un nod infestat, șobolanii de acolo se împrăștie în toate nodurile vecine unde nu se folosesc ultrasunete, acestea devenind infestate. Nodurile unde se folosesc ultrasunete nu mai sunt infestate. După ce șobolanii au plecat, ultrasunetele se opresc, adică nodurile curățate vor putea fi infestate iar în evenimentele ulterioare.
  • 3 X – Lora angajează profesioniști să curețe nodul X și fiii săi. Ca urmare, X și fiii direcți nu mai sunt infestați.
  • 4 X – Lora ar vrea să știe numărul total de noduri infestate din subarborele cu rădăcina X.

Ajutați-o pe Lora să scrie un program care prelucrează fiecare eveniment și determină răspunsurile la evenimentele de tip 4.