Afişează mesaje
|
Pagini: [1] 2
|
13
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 008 Cifra
|
: August 12, 2009, 09:10:32
|
Păi nu asta trebuie făcut? Nu, tu nu ai inteles problema. Faptul ca pentru exemplu iti da corect este pentru ca ele sunt date in aceasta ordine: 1,2,...,t Ceea ce trebuie sa afisezi este: (1 1+2 2+...+a a)%10 (1 1+2 2+...+b b)%10 (1 1+2 2+...+c c)%10 ... a,b,c... sunt cele t numere din fisierul de intrare.
|
|
|
14
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 008 Cifra
|
: August 12, 2009, 08:44:08
|
Pentru fiecare test (d=0,1,2,...,t-1) trebuie sa initializezi variabila z cu 0: apoi sa calculezi in z suma 1 1+2 2+...+cifra cifra: for(i=1;i<=cifra;i++) z+=putere(i); si afisezi ultima cifra a rezultatului: iar în a doua, dacă scriu așa cum scrii tu, nu ar trebui să scrie în fișier Z-ul final, deci, în cazul Exemplului, 3143? Nu, pentru ca la fiecare pas in acest for z va retine doar ultima cifra a rezultatului: for(i=1;i<=cifra;i++) { z+=putere(i); z%=10; }
Ceea ce afisezi tu in fisier este de fapt: (a a)%10 (a a+b b)%10 (a a+b b+c c)%10 ... Unde a,b,c,... sunt cele t numere din fisier.
|
|
|
15
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 008 Cifra
|
: August 12, 2009, 08:10:52
|
Toate testele trec de 2 milioane, sau mai exista o problema la sursa? Cred ca este cel putin un test sub 2 milioane, nu stiu sigur... Cat despre sursa, cred ca ar trebui de modificat asa: int cifra,d,t,z,i; fin>>t; for(d= 0;d<t;d++) { fin>>cifra; z=0; for(i=1;i<=cifra;i++) z+=putere(i); fout<<z%10<<endl; }
Si mai bine daca scrii liniile astea asa: [...] for(i=1;i<=cifra;i++) { z+=putere(i); z%=10; } fout<<z<<endl; [...]
Ar ajuta sa-l fac unsigned long int, sau nu pot decat cu un vector? Nu poti lua suta de puncte citind tot numarul intr-o variabila, fie chiar si unsigned long int (numerele din fisier pot avea maxim 101 cifre). Sunt necesare doar ultimele 2 cifre din numar (s-a mai scris asta). Nu am verificat codul de mai sus, dar cred ca merge 
|
|
|
16
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 032 Flux maxim
|
: Mai 20, 2009, 20:15:29
|
In fiecare an era pus la dispozitie atat Pascal, cat si C/C++ si erau 2 zile de concurs. Anul acesta intr-adevar in regulament era scris ca e permis doar Pascal, dar pe desktop se gaseau 3 pictograme alaturate: Turbo Pascal, Free Pascal si DevCpp, iar olimpiada a fost intr-o singura zi: 4 probleme in 4 ore, la fel ca si barajul. M-am uitat in sursele celorlalti si am vazut la cineva si surse in C++  Probabil nu fusese atent la regulament... Oricum eu am preferat Free Pascal decat DevCpp, pentru ca l-am instalat acasa si e aproape imposibil sa fac debug cu el. Acum mi-am instalat CodeBlocks si sunt multumit, in afara de faptul ca trebuie sa creezi un proiect ca sa poti faci debug  RHIDE n-am mai inteles cum se instaleaza... Am gasit pe infoarena un articol despre instalare: http://infoarena.ro/djgpp-instalarea-de-la-a-la-z si am urmat pasii, dar nu compila, imi aparea un mesaj de eroare (nu-mi mai amintesc care).
|
|
|
17
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 032 Flux maxim
|
: Mai 20, 2009, 17:42:50
|
Intre oricare doua noduri x si y exista maxim un arc. Aceasta inseamna ca exista un singur arc de la x la y? Adica poate sa existe maxim un arc de la x la y si unul de la y la x sau doar unul din ele? Eu daca scriu in program: obtin 30 puncte, iar daca scriu: obtin 100 puncte. Si inca ceva, compilatorul GNU C++ initializeaza automat variabilele cu 0, sau e preferabil sa le initializez?
|
|
|
|