#1785
MZ
Fericit că s-a calificat la ONI, XORin vrea să sărbătorească făcând cât mai mult zgomot. Deoarece e programator, acesta s-a gândit să automatizeze felul în care face zgomot.
Pentru a face zgomot el folosește o placă cu circuite de diverse intensități. Placa poate fi reprezentată sub forma unei matrice cu N
linii și M
coloane. Fiecare celulă din matrice are o intensitate între 0
și 9
(o celulă cu intensitatea 0 corespunde unei zone goale, fără nici un circuit).
Un circuit începe într-o celulă a matricei și se termină în altă celulă, fiind o succesiune de celule adiacente de aceeași intensitate de la un capăt la celălalt al circuitului, asemenea unui drum pe matrice între cele două celule. Două celule se consideră adiacente dacă au o latură comună, deci o celulă e adiacentă cu maxim patru alte celule.
Placa a fost concepută în așa fel încât să nu apară scurtcircuite, așadar curentul dintr-un circuit poate merge numai într-o singură direcție (cu alte cuvinte, fiecare celulă dintr-un circuit se învecinează cu maxim alte două celule din același circuit). Nu există circuite de aceeași intensitate care să se învecineze.
Zgomotul produs de un circuit este egal cu lungimea lui, adică cu numărul de celule din matrice corespunzătoare circuitului.
Cerințe:
1) Să se afle numărul de circuite.
2) Să se afle valoarea zgomotului maxim care poate fi obținut unind două circuite. Două circuite pot fi unite dacă se poate trage o legătură de la un capăt al unui circuit până la un capăt al celuilalt circuit, numai prin celulele libere ale matricei (de intensitate 0). Legătura trebuie să aibă forma unui circuit. Lungimea circuitului nou creat nu se adaugă la zgomotul produs de cele doua circuite.
3) Să se afișeze placa ce conține legătura care unește două circuite din care se obține zgomotul maxim de la cerința 2. Dacă există mai multe variante, se poate afișa orice placă care conține legătura validă.
Concursul Interjudeţean de Matematică şi Informatică Grigore Moisil, 2016
Problema | MZ | Operații I/O |
mz.in /mz.out
|
---|---|---|---|
Limita timp | 2.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #23541839 | Utilizator | |
Fișier | mz.cpp | Dimensiune | 3.53 KB |
Data încărcării | 24 Iulie 2020, 03:55 | Scor / rezultat | 100 puncte |
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0.016 secunde | Ok! | 10 | 10 | ||
1 | 0.004 secunde | Ok! | 10 | 10 | ||
2 | 0.004 secunde | Ok! | 10 | 10 | ||
3 | 0.004 secunde | Ok! | 10 | 10 | ||
4 | 0.028 secunde | Ok! | 10 | 10 | ||
5 | 0.04 secunde | Ok! | 10 | 10 | ||
6 | 0.016 secunde | Ok! | 10 | 10 | ||
7 | 0.14 secunde | Ok! | 10 | 10 | ||
8 | 0.112 secunde | Ok! | 10 | 10 | ||
9 | 0.12 secunde | Ok! | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema MZ 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ă.