#4023
Romeo şi Julieta sunt prinşi într-un labirint, dat sub forma unei matrice cu M linii şi N coloane, cu elemente 0 şi 1. Un element 1 reprezintă zid, iar 0 reprezintă spaţiu liber. Romeo şi Julieta se află iniţial în pătratelele (1,1) (Romeo) respectiv (M,N) (Julieta) ale matricei, care conţin 0, se pot deplasa numai pe pătratele care conţin 0 şi nu pot părăsi matricea. Scrieţi un program care va decide care dintre mutări vor fi efectuate de Romeo şi care de Julieta pentru a-i ajuta pe cei doi să ajungă la destinaţii.
ONI 2002, baraj
| Problema | labirint1 | Operații I/O |
labirint.in/labirint.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #50844309 | Utilizator | |
| Fișier | labirint1.cpp | Dimensiune | 2.64 KB |
| Data încărcării | 09 Mai 2024, 17:03 | Scor/rezultat | 90 puncte |
labirint1.cpp: In function 'int main()': labirint1.cpp:71:20: warning: narrowing conversion of '(((int)n) + -1)' from 'int' to 'short int' inside { } [-Wnarrowing] q.push({0, 0, n-1, m-1, 1}); ^ labirint1.cpp:71:25: warning: narrowing conversion of '(((int)m) + -1)' from 'int' to 'short int' inside { } [-Wnarrowing] q.push({0, 0, n-1, m-1, 1}); ^ labirint1.cpp:79:18: warning: narrowing conversion of '(((int)a) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a+1, b, c, d, t+1}); ^ labirint1.cpp:79:32: warning: narrowing conversion of '(((int)t) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a+1, b, c, d, t+1}); ^ labirint1.cpp:84:24: warning: narrowing conversion of '(((int)c) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b, c+1, d, t+1}); ^ labirint1.cpp:84:32: warning: narrowing conversion of '(((int)t) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b, c+1, d, t+1}); ^ labirint1.cpp:90:18: warning: narrowing conversion of '(((int)a) + -1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a-1, b, c, d, t+1}); ^ labirint1.cpp:90:32: warning: narrowing conversion of '(((int)t) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a-1, b, c, d, t+1}); ^ labirint1.cpp:95:24: warning: narrowing conversion of '(((int)c) + -1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b, c-1, d, t+1}); ^ labirint1.cpp:95:32: warning: narrowing conversion of '(((int)t) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b, c-1, d, t+1}); ^ labirint1.cpp:101:21: warning: narrowing conversion of '(((int)b) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b+1, c, d, t+1}); ^ labirint1.cpp:101:32: warning: narrowing conversion of '(((int)t) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b+1, c, d, t+1}); ^ labirint1.cpp:106:27: warning: narrowing conversion of '(((int)d) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b, c, d+1, t+1}); ^ labirint1.cpp:106:32: warning: narrowing conversion of '(((int)t) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b, c, d+1, t+1}); ^ labirint1.cpp:112:21: warning: narrowing conversion of '(((int)b) + -1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b-1, c, d, t+1}); ^ labirint1.cpp:112:32: warning: narrowing conversion of '(((int)t) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b-1, c, d, t+1}); ^ labirint1.cpp:117:27: warning: narrowing conversion of '(((int)d) + -1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b, c, d-1, t+1}); ^ labirint1.cpp:117:32: warning: narrowing conversion of '(((int)t) + 1)' from 'int' to 'short int' inside { } [-Wnarrowing] {q.push({a, b, c, d-1, t+1}); ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 2 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 3 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 4 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 5 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 6 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 7 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 8 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 9 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 10 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 11 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 12 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 13 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 14 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 15 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 16 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 17 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 18 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 19 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| 20 | 0.012 secunde | Romeo si Julieta sunt salvati! | 5 | 5 | ||
| Punctaj total | 90 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema labirint1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.