.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » mexc

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
mexc


Timp maxim de execuţie / test:
3.2s
Memorie totala disponibilă / stivă:
64MB / 1MB

Proaspăt scăpat de conflictele sale cu poliţia, Gigel vrea să organizeze o excursie la munte. El a descoperit o suprafaţă dreptunghiulară de N metri lăţime şi M metri lungime, împărţită în NxM suprafeţe pătratice elementare de latură 1 şi cu laturile paralele cu laturile suprafeţei. Pentru simplitate, ne vom referi la ea ca la o matrice notată cu A având N linii (numerotate de la 1 la N) şi M coloane (numerotate de la 1 la M). Pentru fiecare pătrat (i,j) se cunoaşte înălţimea Ai,j la care acesta se află.
Dintr-un pătrat (i,j), Gigel se poate deplasa, în interiorul suprafeţei, în oricare din pătratele: (i,j+1), (i,j-1), (i-1,j), (i+1,j), în cazul în care acestea există. Un drum valid în viziunea lui Gigel este un drum care pleacă din orice pătrat (x,y) şi are proprietăţile:
• înălţimea fiecărui pătrat (i,j) prin care trece, satisface relaţia: Ai,j ≥ Ax,y – D (D fiind o constantă dată);
• pătratul (xf, yf) în care drumul se termină (denumit destinaţie finală), are înălţimea mai mare sau egală cu înălţimea pătratului (x,y) Axf,yf≥Ax,y.

Cerinţă

Să se scrie un program care să-l ajute pe Gigel să afle, pentru fiecare pătrat iniţial, câte destinaţii finale distincte există pentru drumurile valide care pornesc din acel pătrat.

Date de intrare

Fişierul de intrare mexc.in conţine pe prima linie trei numere naturale N M D, separate prin câte un spaţiu, cu semnificaţia din enunţ. Fiecare dintre următoarele N linii vor conţine câte M numere naturale, separate prin câte un spaţiu, reprezentând valorile elementelor matricei A.

Date de ieşire

Fişierul de ieşire mexc.out va conţine N linii pe care se vor scrie câte M numere naturale, separate prin câte un spaţiu, numărul i de pe linia j din fişierul mexc.out reprezentând numărul de destinaţii finale distincte care pot fi atinse pe drumuri valide ce pornesc din pătratul (i,j), 1≤i≤N, 1≤j≤M.

Restricţii

1 ≤ N, M ≤ 800
• 0 ≤ D ≤ 100000
• 0 ≤ Ai,j ≤ 100000, 1≤i≤N, 1≤j≤M

• Destinaţia finală poate să coincidă cu punctul de plecare. Un drum format dintr-un singur pătrăţel este considerat valid.

Exemple

mexc.inmexc.outExplicaţii
5 6 2 7 7 7 7 7 7 7 3 3 3 3 7 7 3 5 6 3 7 7 3 3 3 3 7 7 7 7 7 7 10 18 18 18 18 18 18 18 30 30 30 30 18 18 30 20 1 30 18 18 30 30 30 30 18 18 18 18 18 18 1 Pentru pătrăţelele de înălţime 7 destinaţia finală poate fi orice pătrăţel de înălţime 7 şi pătrăţelul de înălţime 10.
Pentru pătrăţelele de înălţime 3 destinaţia finală poate fi orice pătrăţel.
Pentru pătrăţelul de înălţime 5 destinaţia finală poate fi orice pătrăţel mai puţin cele de înălţime 3.
Pentru pătrăţelul de înălţime 6 destinaţia finală poate fi doar el însuşi (nu poate trece prin pătrăţelele de înălţime 3 datorită primei restricţii)
Pentru pătrăţelul de înălţime 10 destinaţia finală poate fi doar el însuşi.

autor: Adrian Diaconu
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2008: ab2, iepuras, palind, auto, div, teatru, pm, submat, reteta2, rezervatie, creioane, melci, mere2, felinare, joc3, 2numere, fi, tablou, borcane, tcast, dep, dist1, stiva, banda, pavare, poarta, aranjare, bile4, subgeom, albinuta1, curent, pviz, atac2, virus
De acelaşi autor: nrbun2, nrbun, siruri, perspic, ture, toys, secv, arb, sir1, pviz
Despre graf: gropi, tgv, matrice2, miniasm, picnic, mere, circuit, soldati, arce, conflicte, desen, robot, furtuna, net, cuvinte, excursie, cadere, pioni, reinvent, kreg, flood, croco, johnie, matrice, arthur, kimberley, ro, sol, caravane, bete, honest, police, pcod, zmeu, auto2, grazing, datorii, trafic, sponsori, monede1, apm, bile1, caini, masina1, bomboane, turn1, shgraf, paintball, program1, tgraf, kgb, algola, felinar, joc6, tric, homeless, promo, turism, casute, joc10, prieteni1, traseu, zapezi, litoral, lover, trip, garaj, ziduri, tv, pact, echipe1, vitale, spion, trasee, bcolor, scara2, lant, ab3, soc, team, gard, rsp, graf, dep, albinuta1, atac2, cabane, drumuri, tj, grade, jungla, lanterna, magic5, coment, urgenta, fazan, lanturi, cfr, site, traseu1, trmv, graphgame, minuni, telefon, ubergraf, carray, pestera, chei, arbgraf, war, fluviu, drumuri1, entries, ubuntzei, pack, fotbal1, pamant, dag, razboi, benzina2, wg, neconex, asfalt1, kubus2, module, progresii, dfs, prieteni3, megascoala, grafxy, dineu, vot1, biperm, drumuri2, nrgraf, cristal, cartite, copaci3, dragoni, nuclee
Despre conexitate: arce, flood, matrice, shgraf, trip, pact, echipe1, vitale, spion, bcolor, dep, fazan, cfr, chei, teme, entries, pamant, neconex, module, drumuri2, cristal, nuclee
Despre multimi disjuncte: flood, matrice, submult, transform
surse trimise | ajutor