Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2009-03-24 18:06:49.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:placare.in, placare.outSursăOJI 2009, clasa a 9-a
AutorRadu VisinescuAdăugată degabitzish1Gabriel Bitis gabitzish1
Timp execuţie pe test0.05 secLimită de memorie4736 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Placare

O suprafaţă dreptunghiulară de înălţime N şi lăţime M unităţi trebuie acoperită perfect (placată) prin utilizarea unor plăci de formă dreptunghiulară de dimensiune 1 x P sau P x 1, unde P este un număr natural nenul. Suprafaţa dată poate fi privită ca un caroiaj cu NxM pătrăţele egale cu unitatea.
O placare corectă a suprafeţei iniţiale se memorează într-un fişier text folosind următoarele convenţii de codificare:
* pe prima linie se precizează dimensiunile N şi M ale suprafeţei;
* o placă dreptunghiulară de lăţime P este codificată prin numărul natural P, iar o placă de înalţime P se codifică prin numărul întreg –P;
* convenim că placa având ambele dimensiuni egale cu unitatea să se codifice cu valoarea 1;
* pe fiecare din cele N linii ale codificării se află câte un şir de valori întregi reprezentând, în ordine de la stânga la dreapta, codurile plăcilor care se găsesc amplasate începând de la respectiva linie;
* codul P strict mai mare ca 1 al unei placi orizontale apare o singură dată pe linia corespunzătoare pe care se află placa, iar codul –P al unei plăci verticale va apare o singură dată şi anume pe prima linie de la care placa respectivă este amplasată în jos pe o anumita coloană a suprafeţei;
* dacă pe o anumită linie a suprafeţei nu există astfel de coduri de plăci, atunci pe respectiva linie din fişier este o singură valoare de 0.
Folosind codificarea unei placări a suprafeţei iniţiale, se poate determina imaginea acestei placări sub forma unui tablou bidimensional A, cu N linii şi M coloane, unde Aij = valoarea absolută a codului plăcii care se suprapune peste pătrăţelul de pe linia i şi coloana j.

Date de intrare

Fişierul de intrare placare.in ...

Date de ieşire

În fişierul de ieşire placare.out ...

Restricţii

  • ... ≤ ... ≤ ...

Exemplu

placare.inplacare.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?