#5019
Se dă o rețea de N * M calculatoare, dispuse sub forma unei matrici cu N linii și M coloane, numerotate începând cu 1, între care se pot transfera informații.
Fiecare calculator funcțional are asociat un cod, număr natural. Calculatoarele defecte sunt marcate cu -1 și nu pot participa la transferul de informație.
Transferul de informație între două calculatoare funcționale se face direct, dacă acestea sunt vecine, sau indirect, prin intermediul altor calculatoare funcționale. Două calculatoare sunt vecine dacă se află pe aceeași linie și coloane adiacente sau pe aceeași coloană și linii adiacente, adică calculatorul de la poziția (i, j) este vecin cu cel de la pozițiile: (i + 1, j), (i - 1, j), (i, j + 1) sau (i, j - 1).
Costul transferului de informație între două calculatoare vecine funcționale este 0, dacă cele două coduri diferă prin cel mult un bit în reprezentarea binară, respectiv 1, în caz contrar. Costul transferului de informație între două calculatoare care nu sunt vecine este suma costurilor transferurilor directe intermediare.
Scrieți un program care să determine costul minim necesar pentru transferul informației de la calculatorul de pe poziția (1, 1) la cel de pe poziția (N, M).
Concursul Interjudețean de Matematică și Informatică SEVER-AUREL GROZE 2026
| Problema | bitmove | Operații I/O |
bitmove.in/bitmove.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64620878 | Utilizator | |
| Fișier | bitmove.cpp | Dimensiune | 1.73 KB |
| Data încărcării | 19 Mai 2026, 08:01 | Scor/rezultat | 100 puncte |
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.002 secunde | OK. | 4 | 4 | ||
| 2 | 0.001 secunde | OK. | 4 | 4 | ||
| 3 | 0.004 secunde | OK. | 4 | 4 | ||
| 4 | 0.008 secunde | OK. | 4 | 4 | ||
| 5 | 0.089 secunde | OK. | 5 | 5 | ||
| 6 | 0.123 secunde | OK. | 9 | 9 | ||
| 7 | 0.126 secunde | OK. | 8 | 8 | ||
| 8 | 0.086 secunde | OK. | 12 | 12 | ||
| 9 | 0.055 secunde | OK. | 10 | 10 | ||
| 10 | 0.124 secunde | OK. | 10 | 10 | ||
| 11 | 0.106 secunde | OK. | 4 | 4 | ||
| 12 | 0.204 secunde | OK. | 3 | 3 | ||
| 13 | 0.222 secunde | OK. | 3 | 3 | ||
| 14 | 0.344 secunde | OK. | 5 | 5 | ||
| 15 | 0.505 secunde | OK. | 4 | 4 | ||
| 16 | 0.612 secunde | OK. | 5 | 5 | ||
| 17 | 0.548 secunde | OK. | 6 | 6 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema bitmove 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ă.