#720
Albine
Matca cea tânără a decis să părăsească stupul şi să îşi facă propria familie de albine, lucru nu tocmai uşor. Ea, împreună cu albinele sale trebuie să meargă din floare în floare până la marginea plantaţiei. Plantaţia are formă dreptunghiulară cu N
linii (numerotate de la 1
la N
) şi M
coloane (numerotate de la 1
la M
). În fiecare punct este o floare. Florile sunt codificate cu 0
sau 1
, cele codificate cu 0
putând fi ocupate doar de matcă, cele cu valoarea 1
doar de câte o albină. Roiul de albine pleacă de la marginea stângă a plantaţiei (coloana 1
) şi trebuie să ajungă în marginea din dreapta (coloana M
). La un pas, toate albinele (inclusiv matca) trebuie să se afle pe poziţii consecutive pe aceeaşi coloană. La pasul următor ele se pot deplasa doar pe coloana următoare, dar tot pe poziţii vecine (eventual îşi pot schimba ordinea). Efortul depus pentru deplasarea de pe o coloană pe alta este egal cu diferenţa dintre prima linie ocupată de un membru al roiului de albine (matca sau albină) la pasul anterior şi prima linie ocupată de un membru al roiului albine (matca sau albină) după mutare.
Determinaţi numărul maxim de membri ai roiului de albine (matcă + albine) care pot părăsi stupul pentru a traversa toată plantaţia în scopul formării unei noi familii. Determinaţi, de asemenea efortul total minim cu care matca poate traversa plantaţia cu numărul maxim de albine determinat.
Lot Juniori, Focsani, 2010
Problema | Albine | Operații I/O |
albine.in /albine.out
|
---|---|---|---|
Limita timp | 0.8 secunde | Limita memorie |
Total: 32 MB
/
Stivă 2 MB
|
Id soluție | #42576501 | Utilizator | |
Fișier | albine.cpp | Dimensiune | 2.29 KB |
Data încărcării | 10 Martie 2023, 18:27 | Scor / rezultat | 100 puncte |
albine.cpp: In function 'int main()': albine.cpp:21:30: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%d %d", &N, &M); ^ albine.cpp:24:36: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%d",&A[i][j]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Corect ! | 10 | 10 | ||
2 | 0 secunde | Corect ! | 10 | 10 | ||
3 | 0 secunde | Corect ! | 10 | 10 | ||
4 | 0 secunde | Corect ! | 10 | 10 | ||
5 | 0.008 secunde | Corect ! | 10 | 10 | ||
6 | 0.156 secunde | Corect ! | 10 | 10 | ||
7 | 0.16 secunde | Corect ! | 10 | 10 | ||
8 | 0.148 secunde | Corect ! | 10 | 10 | ||
9 | 0.16 secunde | Corect ! | 10 | 10 | ||
10 | 0.156 secunde | Corect ! | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Albine 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ă.