Afişează mesaje
|
|
Pagini: [1]
|
|
1
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1549 Cartite
|
: Aprilie 12, 2015, 10:55:29
|
|
In caz ca va intrebati de ce unele surse iau 90, 95 si nu suta:
"Cârtita doreste sa se plimbe prin toate galeriile de sub teren trecând o singura data prin fiecare, dar pentru acest lucru trebuie sa ajunga nevatamata mergând la suprafata terenului la un patratel de unde sa intre în sistemul de galerii."
Cateva surse (pana si oficiale) nu iau in considerare acest aspect si incep euler-ul din nodul 1. Pe testul 5 acest lucru este gresit, deoarece nodul 1 al galeriei este pazit de catre o vulpe.
Asadar am introdus in eval si cazul acesta particular pentru ca sa se respecte pe deplin cerinta (sa fie identic cu OJI unde s-au luat multe punctaje de 95)
|
|
|
|
|
5
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Generare submultimi in alta ordine
|
: August 06, 2014, 19:09:33
|
Prin backtracking inteleg acele metode in care incerci solutii si apoi le verifici. Da, iei pe rand fiecare combinatie posibila de numere. Insa, pentru a afisa in ordine crescatoare dupa S si pentru a evita solutiile invalide apar niste complicatii.  O metoda ar fi sa faci pentru toate S-urile un back(int k, int sum, int sum_now) (k ii pozitia curenta pentru care generezi, sum ii suma la care vrei sa se ajunga, sum_now ii suma curenta a numerelor pana la pozitia k-1, inclusiv) De asemenea, retinerii sumei partiale pentru fiecare element ajuta pentru calcularea mai rapida. (sp[ i ] = sp[ i-1 ] + a[ i ]) pentru fiecare pozitie k va fi un for in care se testeaza elementele: void back(int k, int sum, int sum_now) { for(int i = max (0, sum - sum_now - (sp[ m ] - sp[ k ]); i <= min(sum - sum_now, a[ k ]); ++i) { v[ k ] = i; back(k+1, sum, sum_now + i); } }max (0, sum - sum_now - (sp[ m ] - sp[ k ]) - verifica cazul in care toate elementele de la k+1 pana la m vor fi maxime, astfel incat sa se evite problema solutiilor invalide (in care suma obinuta in back e mai mica decat ar trebui sa fie) Nu ar trebui sa se obtina nici duplicate, nici solutii invalide cand ajungi la k maxim.  Nu. Problema nu e din ceva concurs, e din viata reala, deci putem fi flexibili. Orice alta precizare poate modifica radical algoritmul, inclusiv ordinea aceea cand S-urile sunt egale.
|
|
|
|
|
8
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1480 Traseu3
|
: Iulie 21, 2014, 16:00:47
|
Am trimis o sursă care află corect doar T, și am primit 0 puncte... Presupun că nu se respectă condiția: Se acordă: 40% din punctaj pentru determinarea corectă a numărului T
Da, aici ai dreptate, am uitat sa pun evaluator la problema. Multumesc pentru ca ai postat.  LE: Un evaluator a fost adaugat iar sursele au fost reevaluate. Imi cer scuze pentru neplacerile create.
|
|
|
|
|