Kommando

Time limit: 0.1s Memory limit: 2MB Input: kommando.in Output: kommando.out

Într-o clădire cu hh etaje sunt deţinuţi, la parter, câţiva prizonieri de către TT terorişti. Fiecare etaj al clădirii are mnm \cdot n camere identice. Fiecare cameră are un cod numeric (nu neapărat unic) exprimat printr-un număr din intervalul [0,2550, 255]. O trupă de komando, formată din KK specialişti în luptele antitero, trebuie să elibereze prizonierii. Trupa de komando este paraşutată pe clădire şi încearcă să ajungă la parter. Se cunoaşte locul (x,yx, y) unde fiecare membru al trupei a aterizat pe acoperiş. Greutatea fiecărui membru al trupei este exprimată în unităţi din intervalul [1,2551, 255]. Un membru al trupei poate trece "în jos" printr-o cameră a clădirii doar dacă "greutatea lui trece prin camera respectivă", conform următoarei definiţii.

Definiţie: Spunem că "aa trece prin bb" (aa >> bb) dacă, în reprezentare binară, numărul de cifre 11 a lui aa este mai mic sau egal cu numărul de cifre 11 a lui bb şi cifrele 11 ale lui aa sunt comune cu unele cifre 11 ale lui bb. Exemplu: "4444 trece prin 174174" (4444 >> 174174) deoarece 44=0010110044 = 00101100 iar 174=10101110174 = 10101110.

Pentru detectarea unei camere prin care să poată trece, un membru al trupei de komando se poate, eventual, deplasa cu un "pas" în cele 88 direcţii alăturate poziţiei curente în care a ajuns prin aterizare sau trecerea "în jos". Prin "pas"-ul respectiv se ajunge la una din cele 88 camere vecine. Prizonierii pot fi eliberaţi doar dacă la parter ajung minim TT membri ai trupei de komando.

Cerință

Să se determine dacă prizonierii pot fi eliberaţi sau nu, precum şi numărul de membri ai trupei de komando care pot să ajungă la parter.

Date de intrare

Fişierul text kommando.in are structura următoare: pe prima linie valorile mm, nn, hh, KK, TT despărţite prin câte un spaţiu, cu semnificaţiile descrise mai sus; următoarele hh linii reprezintă codurile celor mnm \cdot n camere ale unui etaj, despărţite prin câte un spaţiu; ultimele KK linii ale fişierului conţin greutatea şi coordonatele xx şi yy a poziţiei de aterizare pe acoperiş ale celor KK membri ai trupei de komando, pentru fiecare pe câte o linie, despărţite prin câte un spaţiu.

Date de ieșire

Pe prima linie a fișierului de ieșire kommando.out se va găsi DA sau NU, iar pe linia a doua se va găsi numărul de membri ai trupei de komando ajunşi la parter.

Restricții și precizări

  • 2m,n,h352 \leq m,n,h \leq 35;
  • 1T,K,Gi2551 \leq T, K, G_i \leq 255;
  • 0cijk2550 \leq c_{ijk} \leq 255;

Exemplu

kommando.in

5 5 5 3 2
0 0 0 0 0 0 0 33 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 44 2 0 0 0 0 0 3 0 0 0 0 0 0
0 0 0 0 0 11 0 0 0 0 0 0 2 22 0 0 0 0 0 3 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 66 2 0 0 0 0 0 7 0 15 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 2 2
2 3 3
3 4 4

kommando.out

DA
2

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