Fișierul intrare/ieșire | rj.in, rj.out | Sursă | OJI 2004 clasa a 10-a |
---|---|---|---|
Autor | Emanuela Cerchez | Adăugată de |
|
Timp de execuție pe test | 0.1 sec | Limită de memorie | 1024 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Romeo si Julieta (clasa a 10-a)
Notă: problemei i-au fost adăugate clarificări față de enunțul original.
În ultima ecranizare a celebrei piese shakespeariene Romeo și Julieta trăiesc într-un oraș modern, comunică prin e-mail și chiar învață să programeze. Într-o secvență tulburătoare sunt prezentate frământările interioare ale celor doi eroi încercând fără succes să scrie un program care să determine un punct optim de întâlnire.
Ei au analizat harta orașului și au reprezentat-o sub forma unei matrice cu N linii și M coloane, în matrice fiind marcate cu spațiu zonele prin care se poate trece (străzi lipsite de pericole) și cu X zonele prin care nu se poate trece. De asemenea, în matrice au marcat cu R locul în care se află locuința lui Romeo, iar cu J locul în care se află locuința Julietei.
Ei se pot deplasa numai prin zonele care sunt marcate cu spațiu, din poziția curentă în oricare dintre cele 8 poziții învecinate (pe orizontală, verticală sau diagonale).
Cum lui Romeo nu îi place să aștepte și nici să se lase așteptat n-ar fi tocmai bine, ei au hotărât că trebuie să aleagă un punct de întâlnire în care atât Romeo, cât și Julieta să poată ajunge în același timp, plecând de acasă. Fiindcă la întâlniri amândoi vin într-un suflet, ei estimează timpul necesar pentru a ajunge la întâlnire prin numărul de elemente din matrice care constituie drumul cel mai scurt de acasă până la punctul de întâlnire. Și cum probabil există mai multe puncte de întâlnire posibile, ei vor să îl aleagă pe cel în care timpul necesar pentru a ajunge la punctul de întâlnire este minim.
Cerință
Scrieți un program care să determine o poziție pe hartă la care Romeo și Julieta pot să ajungă în același timp. Dacă există mai multe soluții, programul trebuie să determine o soluție pentru care timpul este minim. Clarificare: dacă și așa avem mai multe soluții, o vom alege pe cea de linie minimă, iar în cadrul liniei pe cea de coloană minimă.
Date de intrare
Fișierul de intrare rj.in conține:
- pe prima linie numerele naturale N M, care reprezintă numărul de linii și respectiv de coloane ale matricei, separate prin spațiu;
- pe fiecare dintre următoarele N linii se află M caractere (care pot fi doar R, J, X sau spațiu) reprezentând matricea.
Date de ieșire
Fișierul de ieșire rj.out va conține o singură linie pe care sunt scrise trei numere naturale separate prin câte un spațiu tmin x y, având semnificația:
- x y reprezință punctul de întâlnire (x – numărul liniei, y – numărul coloanei);
- tmin este timpul minim în care Romeo (respectiv Julieta) ajunge la punctul de întâlnire.
Restricții
- 1 < N, M < 101
- Liniile și coloanele matricei sunt numerotate începând cu 1.
- Pentru datele de test există întotdeauna soluție.
Exemplu
rj.in | rj.out | Explicații |
---|---|---|
5 8 XXR XXX X X X J X X X XX XXX XXXX |
4 4 4 |
Traseul lui Romeo poate fi: (1,3), (2,4), (3,4), (4,4) Deci timpul necesar lui Romeo pentru a ajunge de acasă la punctul de întâlnire este 4. Traseul Julietei poate fi: (3,1), (4,2), (4,3), (4,4). Timpul necesar Julietei pentru a ajunge de acasă la punctul de întâlnire este de asemenea 4. În plus 4, este punctul cel mai apropiat de ei cu această proprietate. |