Pe îndepărtatul tărâm Algorithmicus, pacea este pe cale să se încheie...
Tărâmul este format din uscat și apă. Uscatul este controlat în integralitate de regate (numerotate de la la ) în timp ce apa nu este controlată de niciun regat.
Tărâmul este reprezentat printr-o matrice cu linii și coloane. Fiecare celulă a sa conține:
- fie un număr natural pozitiv reprezentând indicele regatului căruia îi aparține, dacă celula corespunde unei zone de uscat a tărâmului;
- fie valoarea , dacă celula corespunde unei zone de apă a tărâmului.
Spunem că două celule se învecinează dacă au o latură comună.
Un lanț de celule este o listă de celule cu proprietatea că oricare două celule consecutive din listă se învecinează.
Două regate și se învecinează dacă se îndeplinește cel puțin una dintre condițiile:
- există o celulă a regatului și o celulă a regatului care se învecinează;
- există o celulă a regatului și o celulă a regatului care sunt capetele unui lanț de celule format numai din celule de apă, cu excepția capetelor.
Fiecare regat are o putere de luptă proprie, descrisă printr-un întreg pozitiv, notat cu .
Un regat poate ataca un alt regat vecin doar dacă puterea sa actuală este mai mare sau egală ca puterea regatului vecin (). După cucerirea regatului , întregul său teritoriu devine parte din teritoriul regatului , iar întreaga sa putere de luptă se adaugă la puterea totală a regatului (adică ).
Un regat poate cuceri regate succesiv, extinzându-și teritoriul și mărindu-și puterea până când condiția mai sus menționată nu se mai îndeplinește în raport cu niciun alt regat. În această situație, dacă regatul nu ocupă deja întregul uscat, regele său (și liderul bisericesc) poate invoca benevolența divinității, cerându-i să-i crească puterea regatului () cu minimul necesar care să-i permită reluarea campaniei de cuceriri.
Cerință
Se dă un întreg , numărul cerinței de rezolvat, după cum urmează:
- Dacă atunci se dau interogări de forma . Pentru fiecare dintre aceste interogări calculați, pornind de la starea inițială, care este puterea maximă pe care regatul o poate atinge fără invocarea divinității. Ca excepție, dacă regatul poate ocupa întregul uscat fără invocarea divinității, atunci răspunsul va fi .
- Dacă atunci se dau interogări de forma . Pentru fiecare dintre aceste interogări calculați, pornind de la starea inițială, cantitatea minimă de putere pe care regatul trebuie să o primească din partea divinității pentru a reuși să cucerească regatul .
- Dacă atunci se dau interogări de forma . Pentru fiecare dintre aceste interogări calculați, pornind de la starea inițială, numărul minim de situații în care divinitatea trebuie să-și manifeste benevolența față de regatul pentru a reuși să cucerească regatul .
Date de intrare
Fișierul de intrare divinitate.in conține pe prima linie întregii , , și . Pe fiecare dintre următoarele linii se află câte întregi separați prin câte un spațiu, reprezentând matricea . Pe următoarea linie se află puterile inițiale ale regatelor: , separați prin câte un spațiu. Pe următoarea linie se află se află întregul . Fiecare dintre următoarele linii conțin unul sau doi întregi: sau și , în funcție de ).
Date de ieșire
Fișierul de ieșire divinitate.out va conține linii, linia conținând câte un număr întreg, răspunsul pentru interogarea .
Restricții și precizări
- , pentru și
- , pentru
- și , pentru
- Un regat poate fi format din mai multe zone izolate pe hartă (exclave). Cucerirea unei exclave implică cucerirea întregului regat.
- Se garantează că inițial fiecare dintre cele regate controlează cel puțin o celulă.
- Apa nu aparține niciunui regat, nu poate fi cucerită de vreun regat și poate fi privită strict ca pe o cale de deplasare.
Tabelul de mai jos reprezintă distribuția de punctaj în funcție de restricții și cerință:
| # | Restricții | |||
|---|---|---|---|---|
| 1 | , , , pentru și | 1 | 2 | 3 |
| 2 | , , , pentru și | 2 | 3 | 4 |
| 3 | , , | 2 | 3 | 4 |
| 4 | , , | 2 | 3 | 4 |
| 5 | Oricare două regate se învecinează | 5 | 9 | 13 |
| 6 | 4 | 6 | 9 | |
| 7 | Fără alte restricții | 4 | 7 | 10 |
Exemplul 1
divinitate.in
1 5 5 6
6 1 1 0 2
1 1 0 0 2
1 0 0 2 2
0 0 3 4 4
5 5 4 4 6
100 2 3 3 1 7
6
1
2
3
4
5
6
divinitate.out
0
16
16
16
1
16
Exemplul 2
divinitate.in
2 5 5 6
6 1 1 0 2
1 1 0 0 2
1 0 0 2 2
0 0 3 4 4
5 5 4 4 6
100 2 3 3 1 7
6
1 4
2 1
3 1
4 3
5 1
6 2
divinitate.out
0
84
84
0
84
0
Exemplul 3
divinitate.in
3 5 5 6
6 1 1 0 2
1 1 0 0 2
1 0 0 2 2
0 0 3 4 4
5 5 4 4 6
100 2 3 3 1 7
6
1 4
2 1
3 1
4 3
5 1
6 2
divinitate.out
0
1
1
0
2
0
Explicație
Regatul este format din două exclave. Cucerirea uneia conduce la cucerirea imediată a celeilalte.
Primul regat poate cuceri toate celelalte regate fără invocarea divinității și va avea o putere finală de . Ca excepție, răspunsul afișat pentru prima cerință va fi .
Regatele , , și pot cuceri toate celelalte regate cu excepția primului regat fără invocarea divinității. La acel moment ele ar avea puterea .
Al cincilea regat nu poate cuceri niciun alt regat fără invocarea divinității. Pentru a putea cuceri primul regat sunt necesare două invocații ale divinității. După prima invocare, regatului îi crește puterea cu . După a doua invocare, regatului îi crește puterea cu încă .
