Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2007-08-21 15:36:37.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:tetris.in, tetris.outSursăad-hoc
AutorAutor necunoscutAdăugată dealexpetrescuAlexandru Petrescu alexpetrescu
Timp execuţie pe test1.5 secLimită de memorie131072 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Tetris

Imagineaza-ti ca te afli in fata jocului de Tetris. Bineinteles scopul tau este de "a sparge" toate recordurile. Dar fara un algoritm bun nu puteti face nimic.
Asa ca trebuie sa gasiti o acoperire cat mai buna a suprafetei de joc, astfel incat sa asezati piesele in ordinea aparitiei lor. Adica o piesa nu poate fi asezata pe o pozitie decat daca:
- piesa de dinaintea ei a fost asezata
- piesa mai incape pe suprafata de joc
Piesele sunt plasate intr-o anumita pozitie fiind lasate sa cada libere de undeva de deasupra suprafetei de joc.
Pentru simplificare, consideram ca piesele sunt de forma patrata.

Date de intrare

Fisierul de intrare tetris.in contine pe prima linie numarul n de linii si numarul m de coloane ale suprafetei de joc, despartite printr-un spatiu. Apoi, pe linia a doua se vor specifica laturile fiecarui patrat in ordinea aparitiei lor. Linia se va termina cu un 0.

Date de iesire

Fisierul de iesire tetris.out, contine pe prima linie numarul maxim de patrate acoperite din suprafata de joc. Pe urmatoarele linii va fi afisata suprafata de joc sub forma unei matrici, unde fiecare patrat este marcat prin numarul de aparitie. Pozitiile neocupate sunt marcate prin numarul 0. Nu este obligatoriu ca toate patratele sa fie asezate.

Restrictii

  • Toate numerele din fisierul de intrare sunt mai mici decat 30.

Exemplu

tetris.intetris.out
4 4
1 2 2 1 2 1 2 0
15
6 0 3 3
5 5 3 3
5 5 2 2
1 4 2 2
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?