Mascat

Time limit: 0.1s Memory limit: 256MB Input: Output:

Saima Chang are de pregătit un teren înzăpezit pentru jocurile olimpice de iarnă. Terenul este dat printr-o matrice VV cu NN linii și MM coloane, unde V[i][j]V[i][j] reprezintă înălțimea zăpezii din celula (i,j)(i, j) relativ față de nivelul dorit. Valorile inițiale pot fi negative sau pozitive, dar se dorește ca acestea să devină 00. Pentru a face asta, Saima Chang își folosește lopata lui de încredere în formă de L. Acesta o poate așeza la o poziție (xi,yi)(x_i, y_i) dorită, într-o orientare PiP_i dorită, și poate lua sau adăuga un număr dorit variabil AiA_i de zăpadă.

Cerință

Saima Chang are nevoie de ajutor pentru a rezolva 22 sarcini:

  • Fiind dată matricea inițială, aflați dacă există o serie de operații astfel încât aceasta să devină complet nulă;
  • Afișați o serie de operații astfel încât matricea rezultată după efectuarea acestora să aibă un număr cât mai mare de celule nule.

Date de intrare

Inputul conține pe prima linie un număr natural CC, egal cu 11 sau 22, reprezentând cerința care trebuie rezolvată.

Pe următoarea linie se află numerele naturale NN și MM.

Pe fiecare dintre următoarele NN linii se află câte MM numere întregi separate prin spații.

Date de ieșire

Dacă C=1C=1, afișați DA\text{DA} dacă există o serie de operații astfel încât matricea să devină complet nulă, sau NU\text{NU} dacă nu există o astfel de serie.

Dacă C=2C=2, afișați pe prima linie un număr natural KK - numărul de operații folosit, iar pe următoarele KK linii afișați operațiile, câte una pe câte o linie, codificate în modul următor: Pi,xi,yi,AiP_i, x_i, y_i, A_i, unde PiP_i este orientarea dorită a lopeții în cea de-a i-a operație (vezi imaginea), xix_i și yiy_i reprezintă colțul cel mai din stânga-sus afectat de operație (vezi imaginea), iar AiA_i este un număr rațional ce repezintă cantitatea dorită de zăpadă adăugată în fiecare celulă (dacă AiA_i este negativ atunci de fapt va scădea cantitatea de zăpadă).

Cele 8 orientări posibile, împreună cu pătratul de referință pentru poziție

Restricții și precizări

  • 1C21 \leq C \leq 2, număr natural;
  • 3N,M1003 \leq N, M \leq 100, numere naturale;
  • inițial, 1000V[i][j]1000-1000 \leq V[i][j] \leq 1000, numere întregi, 0i<N,0j<M\forall 0 \leq i < N, 0 \leq j < M
  • Este posibil ca, în urma efectuării celor KK pași, V[i][j]V[i][j] să nu mai fie numere întregi și să nu se mai încadreze în intervalul [1000,1000][-1000, 1000]
  • 0K1050 \leq K \leq 10^5, număr natural;
  • 0Pi70 \leq P_i \leq 7, numere naturale, 0i<K\forall 0 \leq i < K;
  • 0xi<N,0yi<M0 \leq x_i < N, 0 \leq y_i < M, numere naturale, 0i<K\forall 0 \leq i < K;
  • 109Ai109-10^9 \leq A_i \leq 10^9, numere raționale, 0i<K\forall 0 \leq i < K.
# Punctaj Restricții
1 30 C=1C = 1;
2 10 C=2;N,M8;V[i][j]C = 2; N, M \leq 8; V[i][j] sunt multiplii de 120120;
3 20 C=2;N,M8C = 2; N, M \leq 8;
4 20 C=2;V[i][j]C = 2; V[i][j] sunt multiplii de 120120;
5 20 Fără restricții suplimentare.

Punctare

Pentru cazurile cu C=2C=2, concurentul va primi punctajul maxim dacă numărul de celule nule este egal cu maximul posibil. O celulă se consideră nulă dacă valoarea ei absolută este mai mică decât 10610^{-6}. Dacă soluția concurentului obține o matrice cu B elemente nenule, iar minimul posibil este de A elemente nenule, atunci punctajul testului va fi proporțional cu 22+BA\frac{2}{2+B-A}. Exemplu: minimul posibil este 00 iar concurentul mai are 22 elemente nenule în matrice, atunci scorul va fi proporțional cu 22+20=0,5\frac{2}{2+2-0} = 0,5

Exemplul 1

stdin

1
3 3
1 1 1
1 0 0
0 0 0

stdout

DA

Explicație

În primul exemplu se poate observa că există un șir de operații (format chiar dintr-o singură operație) pentru ca matricea să devină nulă.

Exemplul 2

stdin

2
3 3
6 6 6
7 1 1
0 0 1

stdout

2
6 0 0 -6
3 1 0 -1

Explicație

Pentru al doilea exemplu, cele două operații vor face matricea nulă.

Log in or sign up to be able to send submissions!