== include(page="template/taskheader" task_id="drum") ==
Sa consideram o tabla de 5x5 patratele si 25 de piese patrate, fiecare
Se considera o tabla de $5x5$ patratele si $25$ de piese patrate, fiecare
piesa putand avea una din formele:
1.!http://infoarena.ro/problema/drum?action=download&file=1.jpg! 2.!http://infoarena.ro/problema/drum?action=download&file=2.jpg! 3.!http://infoarena.ro/problema/drum?action=download&file=3.jpg!
(1) !problema/drum?1.jpg! (2) !problema/drum?2.jpg! (3) !problema/drum?3.jpg!
_____________ +-------------+ +-------------+
| | | | | | | | |
| | | | \ | | / |
|------|------| |---- ----| |---- ----|
| | | | \ | | / |
| | | | | | | | |
+_____________+ +-------------+ +-------------+
(1) (2) (3)
Se observa ca piesa (1) are conectate marginile N-S si E-V, piesa 2
are conectate marginile N-E si S-V, iar piesa 3 are conectate
marginile N-V si S-E. Subliniem ca cele doua linii din piesa 1 NU se
intersecteaza, ci trec "una pe sub cealalta".
Se observa ca piesa (1) are conectate marginile N-S si E-V, piesa 2 are conectate marginile N-E si S-V, iar piesa 3 are conectate marginile N-V si S-E. Subliniem ca cele doua linii din piesa 1 NU se intersecteaza, ci trec "una pe sub cealalta".
h2. Date de intrare
h2. Cerinta
...
Se cere sa se aseze cele $25$ de piese pe tabla in asa fel incat sa se obtina un drum care:
h2. Date de iesire
* Sa treaca prin fiecare patrat o singura data;
* Sa nu se autointersecteze;
* Sa porneasca din coltul de NV al tablei (linia 1, coloana 1), incepand de la exteriorul tablei (fie dinspre nord, fie dinspre vest);
* Sa se termine in coltul de SE al tablei (linia 5, coloana 5) si sa paraseasca tabla.
h2. Date de intrare
...
De pe prima linie a fisierului $drum.in$ se vor citi numerele $N{~1~}$, $N{~2~}$ si $N{~3~}$, reprezentand numarul de piese din tipurile 1, 2 si 3. Se garanteaza ca suma lor este 25.
h2. Restrictii
h2. Date de iesire
* $... ≤ ... ≤ ...$
In fisierul $drum.out$ se va tipari o matrice cu $5x5$ numere separate prin spatii, reprezentand tipul piesei plasate in fiecare patratel. Daca exista mai multe solutii, se va tipari una la alegere. Daca nu exista nici o solutie, fisierul va contine mesajul "imposibil".
h2. Exemplu
table(example). |_. drum.in |_. drum.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 6 9 10
| 1 2 3 1 2
3 3 1 3 3
1 3 3 2 2
1 2 2 3 3
2 1 3 2 2
|
h3. Explicatie
...
table(example). |_. drum.in |_. drum.out |
| 25 0 0
| imposibil
|
== include(page="template/taskfooter" task_id="drum") ==