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

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


Timp maxim de execuţie/test:
0.2 secunde
Memorie totală disponibilă/stivă:
16MB/8 MB

Lui OMan îi place viteza, aşa că s-a dus la schi! Pârtia este de formă pătrată şi este împărţită în n x n pătrate egale numerotate de la stânga la dreapta şi de sus în jos cu numere de la 1 la n.
Fiecare pătrăţel are asociată o anumită înălţime exprimată în milimetri. OMan pleacă din pătratul de coordonate (1, 1) cu viteza iniţială 1 şi trebuie să ajungă în pătratul de coordonate (n, n) cu viteză maximă. Aflându-se într-un pătrat de coordonate (i, j), OMan poate trece fie în pătratul din sud, adică de coordonate (i+1, j), fie în pătratul de la est, adică de coordonate (i, j+1). La fiecare pas, dacă pătratul în care se află are înălţimea x iar pătratul vecin are înălţimea y, atunci viteza sa creşte cu x – y (dacă x >= y), sau scade cu y – x (dacă x < y). Mai mult, dacă pasul curent schimbă direcţia faţă de direcţia de la pasul anterior, atunci viteza cu care ajunge în pătratul vecin se înjumătăţeşte (se obţine câtul împărţirii la 2).
De exemplu, presupunem că OMan a ajuns din (2, 5) în (3, 5) (deci mergând pe direcţia sud) cu viteza de 10 şi pătratul (3, 5) are înălţimea 8. Acum OMan se deplasează spre est, deci în pătratul (3, 6) de înălţime 5. Atunci înseamnă că a schimbat direcţia şi viteza sa în pătratul (3, 6) este (10+8–5)/2 = 6. Evident, OMan nu se poate deplasa cu viteză negativă sau zero.

Cerinţă

Scrieţi un program care determină viteza maximă pe care o poate obţine OMan în pătratul de coordonate (n, n) plecând din pătratul de coordonate (1,1) cu viteza iniţială 1.

Date de intrare

Fişierul speed.in conţine pe prima linie numărul natural n, iar pe următoarele n linii şi n coloane sunt date înălţimile celor n x n pătrate ale pârtiei.

Date de ieşire

Fişierul speed.out va conţine un singur număr natural reprezentând viteza maximă.

Restricţii

  • 2 <= n <= 300
  • înălţimile  pătratelor sunt numere naturale cuprinse între 0 şi 1000
  • Dacă OMan nu poate ajunge în poziţia (n, n) datorită vitezei mai mici sau egale cu 0, atunci în fişier se va afişa valoarea 0
  • Din poziţia (1,1) OMan se poate deplasa în ambii vecini de la est şi sud fără a se considera că schimbă direcţia.

Exemplu

speed.in speed.out Explicaţii
3
9 8 6
9 5 2
7 1 1
5
Traseul care îi dă viteză maximă este:
din (1,1) în (1,2) – viteză 1+(9–8)=2
din (1,2) în (1,3) – viteză 2+(8–6)=4
din (1,3) în (2,3) – viteză (4+5–1)/2=4 (a schimbat direcţia)
din (2,3) în (3,3) – viteză 4+(2–1)=5.
prof. Dan Pracsiu
Liceul "Stefan Procopiu" Vaslui
dpracsiu@yahoo.com
prof. Adrian Panaete
Colegiul National „A. T. Laurian” Botoşani
acpanaete@yahoo.com
propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Probleme recomandate
De la XOR 2013: divider, eliminare, minm, genab, grafxy, matd3, azeval, matrixdel
De acelaşi autor: cai, rebus, harta, comun, axa, sir, ocean14, reduceri, div3, patrate6, vot, reziduu, accesibil, predecesor, permutari, scanduri, ordonare, xor1, paltrei, triunghi1, 123, traseu1, parbit, petrecere, secvbiti, subm, triunghi3, cmmdcsecv, drumuri1, fillmat, secvb, siruri3, acces, segmente, echilibru1, broscute, ksecv, paisprezece, proddiv, perechi2, expeval, maxtri, combcuv, dfs, qtri, blis, maxbin, probleme, divider, eliminare, minm, genab, grafxy, matd3, azeval, matrixdel, maxp, split, binremove, sminus, subsets, tcif, sprime, sir2dif, ecp, arbsum, robotzi, permtr, unudoi, matcnt, ssdj, dominant
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, otilia, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, log, sant, produs, subsir, cover, bcast, emax, dist, mesaj1, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, pitici1, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, orientare, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, sablon2, telecab, ikebana, radare, hacker, obstacole, robotel, centrala, verigi, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, origami, concurs, iepuras, tribile, criptmat, cutie, patrate, 3d, pajura, perspic, vecini2, livada, matrice3, kafka, erdos, grup, scor2, reteta2, rezervatie, scoici, tablou, game, stea, submatrix, cifru, jokes, oua, trecere, na, dotnet, renju, ghici, mere1, agitatie, lacuri, sotron, desen1, camion, ceas1, fibo, parc, excursia, matricea, zidar, joc6, log, concurs2, cladiri, dist, centru, robinson, cuburi2, joc8, joc9, romeo, adevar, soricel2, avere, joc11, vizibil, sah1, blockout, masina3, lsort, anticip, matrice1, evantai, spion, pereti, zumzi, roboti, placare, tabel, ocr, numere7, lacusta, becuri, sir5, flori, cartele, furnica, pavare, poarta, rj, peri, poligon2, sablon1, gradina, matrice4, poartas, balcon, submdisj, v, matrx, figura, neuroni, raze, roboti1, bila, iepurasi, colorare, mat, submatrix1, simetric1, plaja, xor2, guess, albine1, joct, alfabetar, stele, tablou1, alpinist, cladire, cri, grupe2, el, mahjong, sir9, acces, tort1, joc17, mesaj3, zar1, xy, poteci, avioane, broscute, safeu, acoperire1, radioactiv, robot4, lcdr, jb, slide, maxtri, dame, triunghi4, elicop, compresie, mijloc, cubulete, romb, medalion, bile6, zigzag, puncte5, intersectii, matd3, matrixdel, seif1, traseu2, incadrare, betasah, zona, latin, zmax, amestec, sudoku1, gradina1, spider, zone, bemo, rombul, interclasare, rebus1, tabla, arrows, pseudobil, patrat1, rascoala, harta2, relatii, lasere, defrag, matcnt, ssdj, cript, ssk, teren1, fence, cifre6
surse trimise | ajutor