blockout
Blockout este versiunea in 3
dimensiuni a jocului tetris. Astfel, piese avand forme
diferite trebuiesc plasate intr-un paralelipiped de o anumita inaltime.
In aceasta problema, va trebui sa simulati o varianta
simplificata a acestui joc.
Consideram un paralelipiped cu baza
de dimensiuni NxN si inaltime infinita. In interiorul acestuia, cad succesiv
piese ce se vor aseza pe pozitia cea mai
joasa posibila. Piesa
inainteaza pe axa verticala cate o unitate si se opreste atunci cand, fie a atins baza paralelipipedului (inaltime 0), fie se sprijina
pe o piesa precedenta.
Piesele considerate vor avea deasemenea forma
paralelipipedica iar pozitia lor in planul orizontal va
fi data.
Cerinta
Pentru fiecare piesa se cere sa
afisati inaltimea finala la care se va opri baza piesei.
Date de intrare
Prima linie a fisierului blockout.in va contine doua numere intregi N
si M separate printr-un singur spatiu. N reprezinta
dimensiunea bazei paralelipipedului iar M numarul de piese. Urmatoarele
M linii vor contine cate 5 intregi ce corespund unei
piese:
x1 y1 x2 y2 h
primii doi reprezinta
coordonatele coltului stanga-sus al bazei piesei, urmatorii doi coordonatele
coltului dreapta-jos al bazei piesei, si ultimul reprezinta inaltimea piesei.
Date de iesire
Pentru fiecare piesa se va scrie pe
o linie in fisierul blockout.out inaltimea finala a bazei piesei.
Restrictii
1 <=N <=100
1 <=M <=15000
0 <=x1, y1, x2, y2 <=N-1
1 <=h <=100
Exemplu
blockout.in |
blockout.out |
10
3 1 1 2 2 1 4 5 4 5 7 0 0 9 9 10 |
0 0 7 |
Timp maxim de executie/test: 1 secunda
Batog Bogdan
UPB
bbbb@ss.pub.ro