Pagini recente »
Diferențe pentru problema/examen2 între reviziile 6 și 8
|
Diferențe pentru problema/rj între reviziile 3 și 8
Diferențe pentru
problema/rj între reviziile
#3 si
#8
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="rj") ==
_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.
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.
h2.Cerință
h2. 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.
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ă._
h2. Date de intrare
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);
* *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.
h2. Restricții
h2. Exemplu
table(example).
|_. rj.in |_. rj.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicație
...
|_. 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.
|
== include(page="template/taskfooter" task_id="rj") ==
Nu există diferențe între securitate.