#0007D3

[ol2] DNI 2023 Obratna kocka

Obratna kocka

Imali ste sreće što niste 2016. godine bili na studentskom natjecanju i rješavali zadatak Kocka. Odbojan kao kelj varivo, nezgodan kao tuča tijekom vožnje kabrioleta. Prisjetimo ga se: Potrebno je, pomoću ASCII znakova, napraviti grafički prostorni prikaz hrpe poslaganih kockica. Kocke su pravilno složene u n redaka i m stupaca, a na nekim kockama se nalazi jedna ili više drugih kocaka koje na taj način formiraju tornjeve. Redci su označeni redom brojevima od 1 do n tako da redak broj 1 označava najudaljeniji, a redak broj n najbliži redak na grafičkom prikazu. Stupci su označeni redom brojevima od 1 do m, slijeva na desno. Neke kocke zaklanjaju druge kocke koje su onda djelomično ili potpuno skrivene. Jednu kocku prikazujemo pomoću znakova “+” (plus), “-” (minus), “|” (okomita crta), “/” (kosa crta) i “ ” (razmak) u 6 redaka i 7 stupaca na sljedeći način:

  +---+
 /   /|
+---+ |
|   | +
|   |/
+---+

Napišite program koji će odrediti grafički prikaz cijele zadane konfiguracije, koristeći pri tome što je moguće manje redaka i stupaca. Prazna polja označite znakom “.” (točka). Eto vidite, tko bi uživao crtajući te oblike? Puno je ljepše kada već imate sliku i onda se zapitate kako se to može drugačije predstaviti. Upravo to i je vaš trenutni zadatak. Za izlazne podatke (crteže) iz zadatka Kocka, morate pronaći koji su bili ulazni podaci, tj. ispisati n redaka po m brojeva koji generiraju zadani crtež na način opisan u spomenutom zadatku.

Ulazni podatci

Prvi redak sadrži prirodne brojeve R i S, broj redaka i broj stupaca u crtežu. U sljedećih R nalazi se po S znakova. Znakovi mogu biti “+” (plus), “-” (minus), “|” (okomita crta), “/” (kosa crta) i “ ” (razmak) ili “.” (točka).

Izlazni podatci

U prvi redak ispišite n i m iz zadatka. U sljedećih n redaka ispišite po m nenegativnih brojeva odvojenih razmakom koji predstavljaju matricu iz koje je određen zadani crtež. Ako postoji više mogućih rješenja, ispišite bilo koje.

Bodovanje

Za točno ispisan prvi redak dobit ćete 20% bodova za taj test primjer.

Podzadatak Bodovi Ograničenja

1 5 1 ≤ R ≤ 1 600, 1 ≤ S ≤ 301 i u ispisu bit će: n = 1 2 5 1 ≤ R ≤ 1 600, 1 ≤ S ≤ 301 i u ispisu bit će: m = 1 3 25 1 ≤ R, S ≤ 301 4 15 1 ≤ R ≤ 1 600, 1 ≤ S ≤ 301

Probni primjeri

ulaz ulaz ulaz 9 11 16 19 13 11 ......+---+ ..........+---+.... ......+---+ ...../ /| ........./ /|.... ..+---+ /| ....+---+ | ........+---+ |.... ./ /|-+ | ..+-| | + ......+-| | +---+ +---+ | | + ./ | |/| ...../ | |/ /| | | + |/| +---+---+ | ....+---+---+---+ | | |/|-+ | | | | + ....| / /| | + +---+ |/| + | | |/. ....| +---+ | |/| | | + |/. +---+---+.. ....+-| | +---+ | | |/| +.. .../ | |/ /| + +---+ |/... izlaz ..+---+---+---+ |/. | | +.... 1 2 ./ / / /| +.. | |/..... 1 2 +---+---+---+ |/... +---+...... | | | | +.... | | | |/..... izlaz +---+---+---+...... 3 1 izlaz 2 1 3 3 3 2 3 2 1 2 1 1 1 1

Submit solution

Sign in to submit a solution.