#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 | #64650986 | Utilizator | |
| Fișier | bitmove.py3 | Dimensiune | 3.60 KB |
| Data încărcării | 20 Mai 2026, 14:30 | Scor/rezultat | 100 puncte |
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.022 secunde | OK. | 4 | 4 | ||
| 2 | 0.022 secunde | OK. | 4 | 4 | ||
| 3 | 0.022 secunde | OK. | 4 | 4 | ||
| 4 | 0.022 secunde | OK. | 4 | 4 | ||
| 5 | 0.055 secunde | OK. | 5 | 5 | ||
| 6 | 0.073 secunde | OK. | 9 | 9 | ||
| 7 | 0.062 secunde | OK. | 8 | 8 | ||
| 8 | 0.054 secunde | OK. | 12 | 12 | ||
| 9 | 0.041 secunde | OK. | 10 | 10 | ||
| 10 | 0.072 secunde | OK. | 10 | 10 | ||
| 11 | 0.059 secunde | OK. | 4 | 4 | ||
| 12 | 0.074 secunde | OK. | 3 | 3 | ||
| 13 | 0.091 secunde | OK. | 3 | 3 | ||
| 14 | 0.081 secunde | OK. | 5 | 5 | ||
| 15 | 0.169 secunde | OK. | 4 | 4 | ||
| 16 | 0.157 secunde | OK. | 5 | 5 | ||
| 17 | 0.263 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ă.