Diferente pentru problema/traseu3 intre reviziile #9 si #24

Diferente intre titluri:

traseu3
Traseu3

Diferente intre continut:

== include(page="template/taskheader" task_id="traseu3") ==
Într-un oraş există un hotel de formă cubică, cu N etaje, numerotate de la 1 la N. Suprafaţa fiecărui etaj K (1 ≤ K ≤ N) este pătratică şi este împărţită în N x N camere identice alăturate, dispuse pe N linii şi N coloane, fiecare cameră având drept etichetă un triplet de numere naturale (K L C) (K=etajul, L=linia, C=coloana, 1 ≤ L, C ≤ N), ca în imaginea alăturată.
Într-un oraş există un hotel de formă cubică, cu $N$ etaje, numerotate de la $1$ la $N$. Suprafaţa fiecărui etaj $K$ $(1 ≤ K ≤ N)$ este pătratică şi este împărţită în $N x N$ camere identice alăturate, dispuse pe $N$ linii şi $N$ coloane, fiecare cameră având drept etichetă un triplet de numere naturale $(K L C)$ $(K=etajul, L=linia, C=coloana, 1 ≤ L, C ≤ N)$ , ca în imaginea alăturată.
!problema/traseu3?traseu1.png!
Dintre cele N x N x N camere ale hotelului, una este specială deoarece în ea locuieşte de mult timp un şoricel. Fiind isteţ, el ştie eticheta camerei în care se află precum şi eticheta camerei în care bucătarul hotelului depozitează alimente.
Dintre cele $N x N x N$ camere ale hotelului, una este specială deoarece în ea locuieşte de mult timp un şoricel. Fiind isteţ, el ştie eticheta camerei în care se află precum şi eticheta camerei în care bucătarul hotelului depozitează alimente.
Studiind hotelul, şoricelul a constatat că pe fiecare etaj, din orice cameră poate intra în toate camerele care au un perete comun cu aceasta (existând un mic orificiu pentru aerisire).
De asemenea, şoricelul a constatat că din fiecare cameră (situată la etajele 2,3,..., sau N-1) poate intra în camera situată imediat deasupra ei şi în camera situată imediat sub ea.
De asemenea, şoricelul a constatat că din fiecare cameră (situată la etajele $2,3,...,$ sau $N-1$) poate intra în camera situată imediat deasupra ei şi în camera situată imediat sub ea.
Fiind un şoricel binecrescut, el nu intră în nicio cameră ocupată de clienţi ca să nu-i deranjeze.
Hotelul având mulţi clienţi, şoricelul trebuie să-şi găsească cel mai scurt traseu de la camera lui la camera cu alimente, traseu care să treacă printr-un număr minim de camere, toate neocupate.
h2. Cerinţe
Se cere să se determine:
a) numărul de camere prin care trece cel mai scurt traseu al şoricelului de la camera lui la camera cu alimente
(inclusiv camera lui şi camera cu alimente);
a) numărul de camere prin care trece cel mai scurt traseu al şoricelului de la camera lui la camera cu alimente (inclusiv camera lui şi camera cu alimente);
b) etichetele camerelor prin care trece traseul determinat la punctul a).
h2. Date de intrare
Fişierul traseu.in conţine:
* pe prima linie, două numere naturale N şi M separate printr-un spaţiu, N cu semnificaţia din enunţ iar M
reprezentând numărul de camere ocupate de clienţii hotelului;
* pe a doua linie, trei numere naturale K1 L1 C1, separate prin câte un spaţiu, reprezentând eticheta camerei în
care se află şoricelul;
* pe a treia linie, trei numere naturale K2 L2 C2, separate prin câte un spaţiu, reprezentând eticheta camerei în
care sunt depozitate alimentele;
* pe fiecare dintre următoarele M linii, câte trei numere naturale X Y Z, separate prin câte un spaţiu, reprezentând
etichetele celor M camere ocupate de clienţi.
Fişierul $traseu.in$ conţine:
 
* pe prima linie, două numere naturale $N$ şi $M$ separate printr-un spaţiu, $N$ cu semnificaţia din enunţ iar $M$ reprezentând numărul de camere ocupate de clienţii hotelului;
* pe a doua linie, trei numere naturale $K1$ $L1$ $C1$, separate prin câte un spaţiu, reprezentând eticheta camerei în care se află şoricelul;
* pe a treia linie, trei numere naturale $K2$ $L2$ $C2$, separate prin câte un spaţiu, reprezentând eticheta camerei în care sunt depozitate alimentele;
* pe fiecare dintre următoarele M linii, câte trei numere naturale $X Y Z$, separate prin câte un spaţiu, reprezentând etichetele celor $M$ camere ocupate de clienţi.
h2. Date de ieşire
Fişierul de ieşire traseu.out va conţine pe prima linie un număr natural T reprezentând numărul de camere prin
care trece cel mai scurt traseu al şoricelului de la camera lui la camera cu alimente determinat la punctul a). Pe fiecare
din următoarele T linii, se vor scrie câte trei numere naturale X Y Z, separate prin câte un spaţiu, reprezentând
etichetele camerelor prin care trece traseul determinat la punctul a), în ordinea în care sunt parcurse camerele de către
şoricel pentru a ajunge din camera lui în camera cu alimente.
Fişierul de ieşire traseu.out va conţine pe prima linie un număr natural $T$ reprezentând numărul de camere prin care trece cel mai scurt traseu al şoricelului de la camera lui la camera cu alimente determinat la punctul a). Pe fiecare din următoarele $T$ linii, se vor scrie câte trei numere naturale $X Y Z$, separate prin câte un spaţiu, reprezentând etichetele camerelor prin care trece traseul determinat la punctul a), în ordinea în care sunt parcurse camerele de către şoricel pentru a ajunge din camera lui în camera cu alimente.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $2 ≤ N ≤ 100$ ; $1 ≤ M ≤ 5000$ şi $M < N*N-2$
* Şoricelul nu intră decât în camere neocupate de clienţi.
* Camera şoricelului este o cameră neocupată de clienţi.
* Dacă există mai multe trasee ale şoricelului de la camera lui la camera de alimente care trec prin exact $T$ camere, atunci traseul afişat va fi cel mai mic traseu din punct de vedere lexicografic.
* Eticheta $(X1 Y1 Z1)$ se consideră strict mai mică în sens lexicografic ca eticheta $(X2 Y2 Z2)$ dacă este satisfăcută doar una dintre condiţiile:
1) $X1 < X2$ 2) $X1 = X2$ şi $Y1 < Y2$ 3) $X1 = X2$ şi $Y1 = Y2$ şi $Z1 < Z2$
* Eticheta $X1 Y1 Z1$ se consideră egală cu eticheta $X2 Y2 Z2$ dacă $X1 = X2$ şi $Y1 = Y2$ şi $Z1 = Z2$. Vom scrie egalitatea lor astfel: $(X1 Y1 Z1) = (X2 Y2 Z2)$.
* Traseul ce trece (în această ordine) prin camerele cu etichetele $(X1 Y1 Z1), (X2 Y2 Z2),..., (XT YT ZT)$ este mai mic din punct de vedere lexicografic ca traseul $(A1 B1 C1, A2 B2 C2,…, AT BT CT)$ dacă există un indice $J$ (1 ≤ J ≤ T) astfel încât $(X1 Y1 Z1) = (A1 B1 C1), (X2 Y2 Z2) = (A2 B2 C2)…., (XJ-1 YJ-1 ZJ-1) = (AJ-1 BJ-1 CJ-1)$ iar eticheta $(XJ YJ ZJ)$ este strict mai mică ca eticheta $(AJ BJ CJ)$.
* Se acordă: 40% din punctaj pentru determinarea corectă a numărului $T$ şi 100% din punctaj pentru rezolvarea corectă a ambelor cerinţe.
* Se garantează că există soluţie pentru ambele cerinţe, pentru toate datele de test.
h2. Exemplu
table(example). |_. traseu3.in |_. traseu3.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
table(example). |_. traseu3.in |_. traseu3.out |_. Explicaţie|
| 3 4
1 1 1
3 3 3
3 3 1
2 1 1
3 1 1
3 1 3
| 7
1 1 1
1 1 2
1 1 3
1 2 3
1 3 3
2 3 3
3 3 3
| !problema/traseu3?traseu4.png!
|
h3. Explicaţie
...
Hotelul are trei etaje (1,2 şi 3). Pe fiecare etaj sunt 3*3 camere. Şoricelul se află în camera cu eticheta $1 1 1$ iar camera cu alimente are eticheta $3 3 3.$
Sunt 4 camere ocupate de clienţi. Acestea au etichetele : $3 3 1, 2 1 1, 3 1 1, 3 1 3.$
Traseul cel mai scurt trece prin $T=7$ camere.
Sunt mai multe astfel de trasee. De exemplu:
$1) (1 1 1, 1 1 2, 1 1 3, 1 2 3, 1 3 3, 2 3 3, 3 3 3)$
$2) (1 1 1, 1 1 2, 1 1 3, 2 1 3, 2 2 3, 3 2 3, 3 3 3)$
$3) (1 1 1, 1 2 1, 1 3 1, 1 3 2, 2 3 2, 3 2 3, 3 3 3)$
etc.
Cel mai mic astfel de traseu (în sens lexicografic) este traseul 1).
== include(page="template/taskfooter" task_id="traseu3") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
9931