Afişează mesaje
|
Pagini: 1 2 [3]
|
56
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1212 Nivele2
|
: Aprilie 23, 2012, 19:39:26
|
Si eu fac parcurgere dfs, pe mai multe teste facute de mine,inclusiv cel din exemplu, imi da bine, insa iau "Format de output incorect" . Am verificat sa nu cumva sa fi afisat vreun spatiu in plus dar totul e ok. Am avut si eu aceeasi problema, apoi, dupa 2 minute chinuitoare de debug, mi-am dat seama ca eu scriam "nivel" in loc de "nivelul" trolololololol Poate asta e. Daca nu, mai uita-te la spatii, a iesit din prima dupa ce am mai scris in doua locuri un "ul".
|
|
|
61
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1140 Sir4
|
: Martie 19, 2012, 19:02:08
|
Am si eu nevoie de un pic de ajutor la problema asta. Am gasit ca bugul provine la procedura de aflare a perioadei (perioada trece de M): void Find_Period () { Perioada = 1; i = (A * X0 + B) % M; while (i != X0) { i = (A * i + B) % M; Perioada++; } } Am demonstrat intai ca intregul graf X0 -> X1 -> X2 ->... este finit (si ciclic) si ca este defapt de forma X0, X1, X2 ... Xn, X0 din faptul ca daca 2 noduri pointeaza la un acelasi nod (exista o bucla interioara) atunci vom avea Xk == (A * Xi + B) % M == (A * Xj + B) % M, deci A * (Xj - Xi) = n * M, unde n este un nr. intreg, deci Xj - Xi == 0. Deci ar trebui ca sirul sa se inchida fara a exista vreo bucla interioara. Ce gresesc? LE: NVM, dupa vreo 2 ore, mi-am dat seama ca era de la un long long declarat int.
|
|
|
|