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

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


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

Harta Galaxiei este reprezentată ca o matrice cu N linii (numerotate de la 1 la N) şi M coloane (numerotate de la 1 la M). Orice element al matricei reprezintă o zonă de formă pătrată cu latura de 1 an lumină (denumită quadrant) şi poate fi identificat prin coordonatele sale (numărul liniei şi respectiv numărul coloanei pe care află).
Nava Enterprise se află într-un quadrant de coordonate cunoscute şi trebuie să ajungă la destinaţie (un alt quadrant, diferit de cel de plecare, de coordonate de asemenea cunoscute).
Nava se poate deplasa de la un quadrant la unul dintre cei învecinaţi pe orizontală sau verticală într-o unitate de timp (mai exact, din zona de coordonate (L,C) nava se poate deplasa în una dintre zonele de coordonate (L-1,C), (L+1,C), (L,C-1), (L,C+1), fără a ieşi de pe hartă).
În plus, în unele zone (quadranţi) se găsesc porţi stelare. O poartă stelară permite deplasarea navei într-o unitate de timp în oricare altă zonă în care se găseşte o altă poartă stelară. Dacă în drumul său nava ajunge într-o zonă cu o poartă stelară, nava se poate deplasa într-o altă zonă cu poartă stelară sau poate să-şi continue drumul în una dintre zonele învecinate.

Cerinţă

Determinaţi timpul minim în care nava poate ajunge din zona iniţială în cea finală, precum şi numărul de trasee de durată minimă.

Date de intrare

Fişierul de intrare poarta.in conţine pe prima linie numerele naturale N M K, reprezentând în ordine, numărul de linii, numărul de coloane şi respectiv numărul de porţi stelare de pe hartă. Pe cea de-a doua linie, se află 4 numere naturale L1 C1 L2 C2, reprezentând coordonatele zonei de plecare, respectiv coordonatele zonei destinaţie. Pe următoarele K linii sunt scrise coordonatele zonelor în care se află porţi stelare, câte o poartă pe o linie. Numerele de pe aceeaşi linie sunt separate prin câte un spaţiu.

Date de ieşire

Fişierul de ieşire poarta.out va conţine două linii. Pe prima linie va fi scris numărul natural D, reprezentând timpul minim în care nava ajunge din zona iniţială la destinaţie. Pe cea de-a doua linie va fi scris numărul natural Nr, reprezentând numărul de trasee de durată minimă. Deoarece numărul Nr poate fi foarte mare, trebuie să afişaţi restul împărţirii lui Nr la 997.

Restricţii

1 ≤ N, M ≤ 100
0 ≤ K ≤ 1000

Zona iniţială a navei, zona destinaţie, precum şi zonele în care se află porţi stelare sunt distincte.
Pentru 20% dintre teste 1 ≤ N, M ≤ 10, 0 ≤ K ≤ 10
Pentru determinarea corectă a timpului minim se acordă 30% din punctaj. Pentru determinarea corectă a timpului minim şi a numărului de trasee de durată minimă se acordă punctajul maxim.

Exemple

poarta.inpoarta.outExplicaţii
6 7 4 2 5 6 2 1 1 5 1 1 6 4 5 5 6


autor: Prof. Radu Vişinescu
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
De acelaşi autor: Parcurgere Euler
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, mexc, tcast, dep, dist1, stiva, banda, pavare, aranjare, bile4, subgeom, albinuta1, curent, pviz, atac2, virus
De acelaşi autor: concurs, placare, poartas, printesa, zona, sablon3
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, 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, 2ndesc, medalion, bile6, zigzag, puncte5, intersectii, matd3, matrixdel, speed, 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
Despre recurenţă: nrbun2, nrbun, grupe, palind, siruri, vecini, net, pioni, sir2, perm, red, sume3, pavaj, div3, descfib, robot1, soldati1, expresii, agitatie, aparitii, apel, randuri, zidar, log, maxq, cover, dist, munte1, sir1, vizibil, csir, puncte2, aranjari, numere5, anticip, bsir, evantai, sg1, zumzi, lant, perfect, cifru2, numere8, pviz, poli, desert, echitabil, patrate6, kperms, jump, petrecere, rege, triunghi3, sir9, arbore1, fibgcd, cds, wg, module, nr0, cover1, culori1, 2ndesc, flori2, cntgcd, 2sah, matcnt, nmult
surse trimise | ajutor