Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Diferente pentru problema/hack intre reviziile 14 si 15
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="hack") ==
La ultimul concurs de pe 'Codeforces':http://codeforces.com/, ai avut de rezolvat următoarea problemă: Dându-se o matrice de dimensiuni $N x M$ cu celule de valoare $0$ sau $1$ şi o celulă de start, determinaţi costul minim de a ajunge din celula de start în toate celelalte celule. O mişcare constă în schimbarea celulei curente cu una adiacentă pe cele $4$ direcţii cardinale, fără a părăsi la niciun punct matricea. Costul mişcării este $0$ dacă şi numai dacă cele două celule între care s-a călătorit au aceeaşi valoare. Altfel, costul este $1$.
Bineînţeles, tu ai rezolvat corect această problemă, doar eşti omniscient. Acum doreşti să examinezi codul altor participanţi şi eventual să găseşti teste pe care soluţia lor nu funcţionează sau funcţionează prea încet. În sursa unui anumit concurent ai găsit următoarea funcţie care calculează distanţele folosind un algoritm similar cu parcurgerea în lăţime / BFS, folosindu-se de o coadă. Eşti sigur că acest cod este totuşi ineficient. Trebuie să găseşti un test de dimensiuni $N x M$, cu $N$ şi $M$ maxim de valoare maxim $50$, astfel încât valoarea variabilei COUNTER să fie cât mai mare după execuţia funcţiei.
== code(c) |
#define PII pair<int, int>
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.