
În Grădina Botanică Regală „Etherea", cercetătorii studiază o specie rară de cireș japonez, numită Sakura Tennyo. Grădina este reprezentată printr-o matrice cu linii și coloane, în care fiecare celulă corespunde unei parcele de pământ. Inițial, toate parcelele au fertilitatea .
În grădină au loc, pe rând, înfloriri. O înflorire din celula , având puterea , eliberează polen care, purtat de curenții de aer, se poate răspândi în cel mult 4 zone triunghiulare. Existența acestor curenți este indicată de o cheieeoliană formată din 4 semnale, numerotate , , și .
Pentru o înflorire, curentul apare doar dacă semnalul corespunzător este activ.
Valoarea cheie codifică semnalele active ca o mască de biți. Semnalul este activ dacă și numai dacă bitul din cheie este , pentru . De exemplu, cheia are reprezentarea binară , deci sunt active semnalele și . Curenții corespunzători celor 4 semnale sunt definiți astfel:
| Semnal | Punct Cardinal | Interval Linii () | Interval Coloane pe linia |
|---|---|---|---|
| Nord-Est | |||
| Sud-Vest | |||
| Nord-Vest | |||
| Sud-Est |
Fiecare celulă atinsă de polenul unui cireș își crește fertilitatea cu . Unii cireși produc polen inhibitor, astfel poate fi negativ, iar fertilitatea unei celule poate scădea. Contribuțiile (pozitive și negative) se adună. Dacă doi curenți ai aceluiași cireș ating aceeași celulă, contribuțiile se adună; de exemplu, dacă doi curenți trec prin , atunci acolo se adaugă .
Se iau în considerare doar celulele aflate în interiorul matricei. Orice porțiune a unei zone de înflorire care depășește marginile matricei va fi ignorată.
Cerințe
Se cere determinarea matricei finale a fertilității după aplicarea tuturor celor înfloriri, pentru una dintre următoarele trei variante:
Cerința 1
Pentru această cerință, înfloririle se vor aplica uniform pe zone care formează pătrate în matrice. Astfel, se garantează că este par, iar înfloririle sunt grupate în perechi aflate pe poziții consecutive (în funcție de numărul lor de ordine): înflorirea cu , cu , , cu .
Pentru fiecare pereche, prima înflorire are activ exact un singur semnal, iar a doua are activ exact semnalul opus acestuia, semnalele opuse considerându-se cu , respectiv cu . De asemenea, ambele înfloriri din pereche au aceeași valoare .
Mai mult, dacă prima înflorire din pereche are coordonatele și puterea , atunci a doua înflorire are puterea , iar semnalul activ și coordonatele ei se determină conform tabelului următor:
| Semnal prima înflorire | Semnal a doua înflorire | Coordonate a doua înflorire |
|---|---|---|
Cerința 2
Pentru fiecare înflorire sunt active simultan toate cele 4 semnale.
Cerința 3
Pentru fiecare înflorire poate fi activă orice submulțime a celor 4 semnale.
Date de intrare
Fișierul polen.in conține:
- pe prima linie, un număr natural , reprezentând cerința care trebuie rezolvată;
- pe a doua linie, trei numere naturale , , , cu semnificația din enunț;
- pe următoarele linii, câte cinci numere întregi , , , , , cu semnificația din enunț.
Date de ieșire
Fișierul polen.out va conține linii, fiecare având câte numere întregi separate prin spațiu, reprezentând fertilitatea finală a fiecărei parcele din grădină.
Restricții și precizări
- Se garantează pentru primele 9 subtaskuri că toate zonele de înflorire se află în interiorul matricei.
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 4 | |
| 2 | 5 | |
| 3 | 13 | . Fără alte restricții suplimentare. |
| 4 | 5 | |
| 5 | 8 | |
| 6 | 16 | . Fără alte restricții suplimentare. |
| 7 | 7 | |
| 8 | 9 | |
| 9 | 21 | . Fără alte restricții suplimentare. |
| 10 | 12 | . Zonele de înflorire pot depăși marginile matricei. Fără alte restricții suplimentare. |
Exemplul 1
polen.in
1
10 11 6
4 2 2 1 1
2 4 1 1 2
5 4 2 1 1
3 6 1 1 2
9 7 3 1 1
6 10 2 1 2
polen.out
0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0 0
0 1 1 2 1 1 0 0 0 0 0
0 1 1 2 1 1 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0
0 0 0 0 0 0 1 1 1 1 0
0 0 0 0 0 0 1 1 1 1 0
0 0 0 0 0 0 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0
Explicație

În matricea alăturată, culorile indică zona acoperită de fiecare pereche de înfloriri:
- Albastru - înfloririle 1 și 2
- Portocaliu - înfloririle 3 și 4
- Verde - înfloririle 5 și 6
- Mov - intersecția zonei albastre cu cea portocalie
Exemplul 2
polen.in
2
9 9 1
5 5 4 1 15
polen.out
0 0 0 0 2 0 0 0 0
0 0 0 1 2 1 0 0 0
0 0 1 1 2 1 1 0 0
0 1 1 1 2 1 1 1 0
2 2 2 2 4 2 2 2 2
0 1 1 1 2 1 1 1 0
0 0 1 1 2 1 1 0 0
0 0 0 1 2 1 0 0 0
0 0 0 0 2 0 0 0 0
Explicație

În matricea alăturată:
- valorile albastre sunt celule acoperite o singură dată;
- valorile mov sunt celule acoperite de două triunghiuri;
- valoarea roșie din centru este acoperită de toate cele 4 triunghiuri.
Exemplul 3
polen.in
3
10 10 4
2 2 2 1 1
3 7 2 1 3
8 3 2 1 11
7 8 2 1 15
polen.out
0 1 1 0 0 0 1 0 0 0
0 1 1 1 0 0 1 1 0 0
0 0 0 0 1 1 2 1 1 0
0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 1 2 0 0
0 0 1 0 0 0 1 2 1 0
0 0 1 1 0 2 2 4 2 2
1 1 3 2 2 0 1 2 1 0
0 1 2 1 0 0 0 2 0 0
0 0 2 0 0 0 0 0 0 0
Explicație

În matricea alăturată, fiecare culoare indică contribuția unei înfloriri:
- Albastru - Prima înflorire, cu un singur semnal activ;
- Portocaliu - A doua înflorire, cu două semnale active;
- Verde - A treia înflorire, cu trei semnale active;
- Roșu - A patra înflorire, cu toate cele 4 semnale active.