Fișierul intrare/ieșire cuburi3.in, cuburi3.out Sursă ONI 2005 clasa a 8-a
Autor Alin Burță Adăugată de avatar StefanPitur Stefan Pitur StefanPitur
Timp de execuție pe test 0.1 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Cuburi3 (clasa a 8-a)

Domnul Gigi i-a cumpărat fiului său un joc de construcții. Jocul este compus dintr-o tablă pătrată N x N (N linii și N coloane) și un număr de C cuburi colorate. Latura cubului este egală cu latura unui pătrat al tablei. Gigi junior așează fiecare cub pe tablă, într-o ordine dată, suprapunând perfect o față a cubului peste pătratul dorit. Dacă la o anumită poziție există deja cuburi atunci cubul se așează deasupra celor existente. Jocul se termină când toate cuburile sunt așezate pe tablă.
Domnul Gigi vede jocul în forma finală și privește tabla din trei poziții. Imaginea rezultată poate fi vedere de sus, vedere din stânga sau vedere din față.
Exemplu: pentru N=3, C=7 și o așezare a cuburilor ca în figura a), cele trei vederi sunt desenate în figurile:

Cerinta

Să se realizeze un program care determină o vedere a tablei.

Date de intrare

Fișierul de intrare cuburi3.in conține:
Pe prima linie trei numere naturale N C D, separate prin câte un spațiu cu următoarea semnificație: N – dimensiunea tablei, C – numărul cuburilor,
D -direcția din care privim tabla (1 – vedere de sus, 2 – vedere din stânga, 3 – vedere din față ).
Pe următoarele C linii se găsesc câte trei numere naturale. Astfel, pe linia i+1 se află numerele Lin Col Culoare, separate prin spațiu, reprezentând linia, coloana și respectiv culoarea celui de-al i-lea cub care se plasează pe tablă.

Date de ieșire

Fișierul de ieșire cuburi3.out va conține un tablou bidimensional cu NL linii și N coloane reprezentând vederea tablei, conform direcției citite din fișierul de intrare.
Pe prima linie a fișierului se vor afișa cele două dimensiuni NL și N separate prin spațiu, iar pe următoarele NL linii câte N numere reprezentând codurile culorilor cuburilor vizibile, respectiv 0 (zero) pentru zonele fără cuburi.

Restricții

1 ≤ N ≤ 50
1 ≤ C ≤ 50000
Nu sunt mai mult de 20 de cuburi suprapuse;
Culoarea unui cub este codificată printr-un număr între 1 și 15;
Întotdeauna se pot plasa pe tablă toate cuburile date;
Fiecare linie din fișierele de intrare și ieșire se termină prin marcaj de sfârșit de linie;

Exemplu

cuburi3.in cuburi3.out
3 7 2
1 1 3
1 1 1
3 2 2
1 3 1
1 3 2
1 3 1
1 3 3
4 3
3 0 0
1 0 0
1 0 0
3 0 2

Explicație

Cel mai mare turn de cuburi se afla în poziția (1,3) și are înălțimea 4. Privind din partea stângă a tablei, din acest turn se văd doar ultimele două cuburi, restul fiind ascunse vederii de turnul din 2 cuburi de la poziția (1,1).
Pe “coloana” 2 nu există cuburi, deci vom completa cu 0.
Pe coloana 3 se vede doar cubul din poziția (3,2), în rest completăm cu 0 pâna la înălțimea maximă.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii