Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Ce ati facut la judet???  (Citit de 5321 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
malex
Client obisnuit
**

Karma: 6
Deconectat Deconectat

Mesaje: 53



Vezi Profilul
« : Februarie 26, 2005, 13:24:33 »

Care a fost de acii la clasa a9a? Subiectele mi s-au parut foarte usoare, si de aici apare problema, ca testele erau mari.. si eu nu stiam  ca exista parametri pt a sari peste limita vectorului intreg in pascal..  Acesta mi se pare un dezavantaj mare...La a doua pb nust cum faceai sa calculezi in timp de o sec pt cel mai rau caz.... eu am folosit pt divizori descompunere in factori primi si apoi calculam (puterea primului factor + 1 ) * .... Formula aceasta e mai rapida decat un for care imparte toate numerele de la 2 la jumatate... dar nu e suficient de rapida pt 10000 de numere f mari...
Memorat

Programarea e frumoasa daca o inveti logic..
fbkk
Client obisnuit
**

Karma: -13
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #1 : Februarie 26, 2005, 16:26:32 »

Mersi lu Nash^ pentru link :
http://www.olimpiade.ro/informatii.php

Gasiti acolo subiecte shi mai ales evluatoare cu tot cu teste (pe mine m-au ajutat sa-mi dau seama ca sunt tampit )  Brick wall

In loc d semnatura : Brick wall  Brick wall  Brick wall
Memorat

No one should have to code the same thing twice !
malex
Client obisnuit
**

Karma: 6
Deconectat Deconectat

Mesaje: 53



Vezi Profilul
« Răspunde #2 : Februarie 26, 2005, 19:21:17 »

eu am luat locu I in judetul meu cu  70 pct, dar problema a fost ca n-am stiut de parametru ca sa largesc vectorul si am avut de pierdut.. Vi se parea normal sa se dea cu largire de vector??? Nu toata lumea stia...

Pt info yo folosesc site-ul http://olimpiade.info ... gasiti akolo toate inf despre aproape toate concursurile, olimps de info...
Memorat

Programarea e frumoasa daca o inveti logic..
LordAnta
Strain
*

Karma: 2
Deconectat Deconectat

Mesaje: 43



Vezi Profilul
« Răspunde #3 : Februarie 26, 2005, 22:48:25 »

Ce parametru de largire a vectorilor? daca te referi la problema numere de la clasa a 9-a se facea foarte usor cu operatii pe biti, cu un vector de char de lungime 31250.!!!

Cod:
nr[xx >> 3] |= (1 << (xx & 7))
cam asa ceva setam bitul de pe pozitia xx & 7 cu 1 daca xx aparea in matrice iar in final se verifica
daca
Cod:
nr[xx >> 3] & (1 << (xx & 7))  == 0
atunci xx a fost inlocuit in matrice cu 0. pare mult mai simplu!!!

( ptr alte detalii vedeti articolul cu Ciurul lui Eratostene, unde autorul explica foarte bne. Thanks Man)
Memorat

Lord Anta, over and out!!!
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #4 : Februarie 26, 2005, 23:05:07 »

Cu placere Smile, ne bucuram si noi sa vedem ca articolele va ajuta.
Memorat
malex
Client obisnuit
**

Karma: 6
Deconectat Deconectat

Mesaje: 53



Vezi Profilul
« Răspunde #5 : Februarie 27, 2005, 09:39:23 »

da din pcate nu exista asa ceva in pascal...Sad trebuia sa stiu parametru {R+} sau nu mai stiu exact.. ce parametru e,... oricum pt nationala o sa studiez toti parametrii..

pS: ma puteti ajuta cu lista de parametri pt PASCAL?
Memorat

Programarea e frumoasa daca o inveti logic..
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #6 : Februarie 27, 2005, 10:34:53 »

Citat din mesajul lui: malex
da din pcate nu exista asa ceva in pascal...Sad trebuia sa stiu parametru {R+} sau nu mai stiu exact.. ce parametru e,... oricum pt nationala o sa studiez toti parametrii..


oricum pt nationala o sa ai free-pascal!
Memorat
fbkk
Client obisnuit
**

Karma: -13
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #7 : Februarie 27, 2005, 11:10:26 »

Citat din mesajul lui: malex
da din pcate nu exista asa ceva in pascal...Sad trebuia sa stiu parametru {R+} sau nu mai stiu exact.. ce parametru e,... oricum pt nationala o sa studiez toti parametrii..


Cauta in Borland (in index) 'SHL' -> 'Shift Left Operator ' , este acelasi lucru ca si << , 'SHR'  este acelasi lucru ca si  >>, in loc d & , | , |= ,folosesti respectiv and, or ,xor , deci ai EXACT acelsi lucru in pascal.
Problema e ca trebe sa shtii tu Pascal shi mai ales sa manipulezi bitii.
Shi oricum ar fi bine sa shtii toti parametri , mai ales cei despre coprocesor
{$E+} ,{$N+}, despre mem {$M ...},mai ales dak faci in Borland.
Memorat

No one should have to code the same thing twice !
malex
Client obisnuit
**

Karma: 6
Deconectat Deconectat

Mesaje: 53



Vezi Profilul
« Răspunde #8 : Februarie 27, 2005, 15:29:48 »

dar vreau sa stii daca am voie sa folosesc parametrii astia tot timpu? nu poti sa-i interzica, sau mai rau sa nu-i vada compilatoru si sa dea eroare si sa pierd toate punctele??? In FreePascal daca compileaza ei cu parametri da vreo eroare?? IS THIS TOTAL SAFE??
Memorat

Programarea e frumoasa daca o inveti logic..
fbkk
Client obisnuit
**

Karma: -13
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #9 : Februarie 27, 2005, 18:47:13 »

Parametrii d compilare ai voie sa folosesti ,ai grija la specificatiile d mem ale concursului (unele evaluatoare NU te lasa sa iesi din mem) asa ca ai grija cu directiva {$M ...} in rest nu cred ca o sa-ti interzica vreodata cineva sa foloseshti {$I} {$R} {$E} {$N} ,... s.a.m.d.
In orice caz acum poti folosi orice directiva (grija inca ca unele difera  intre freepascal si BP ).
Memorat

No one should have to code the same thing twice !
malex
Client obisnuit
**

Karma: 6
Deconectat Deconectat

Mesaje: 53



Vezi Profilul
« Răspunde #10 : Februarie 27, 2005, 21:58:50 »

pai la OJI nici macar nu a afisat memoria, ca sa stiu si eu pana unde se duce stiva, ca daq era mai mare poate puteam citi pana la sfarsit vectoru, insa n-am riscat sa-mi dea vreo eroare de memorie si sa pierd toate testele..
Memorat

Programarea e frumoasa daca o inveti logic..
[email protected]
Vizitator
« Răspunde #11 : Martie 01, 2005, 11:32:43 »

Mah care ma ajutati si pe mine sa-mi explicati cum se putea rezolva problema de la cls a 9-a MAXD.
Mi-am scos de pe www.olimpiade.ro evaluatorul si testele si tot nu pot pricepe un algoritm care sa poata sa scoata intr-o sec rezultatul pt anumite teste.
       Am facut 20 de puncte la prob asta la olimpiada. Problema cealalta NUMERE o fost destul de simpla.
       Pls help me !!!
Memorat
fbkk
Client obisnuit
**

Karma: -13
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #12 : Martie 01, 2005, 23:24:40 »

Citat
pai la OJI nici macar nu a afisat memoria, ca sa stiu si eu pana unde se duce stiva, ca daq era mai mare poate puteam citi pana la sfarsit vectoru, insa n-am riscat sa-mi dea vreo eroare de memorie si sa pierd toate testele..


pai daq ai folosit pascal: stiva era cat ai specificat-o tu (implicit 16384) Shtii tu Options->Memory sizes->Real Target -> Stack(Alt+O,Alt+M) poti sa modifici shi d acolo ,dar daq vrei sa se compileze cu memoria care o vrei tu trebuie sa foloseshti {$M ...} ,neaparat !!!
Exista anumite limite d mem la Borland pascal, trebe sa citeshti in help la folosirea {$M ...}.

Citat
Mah care ma ajutati si pe mine sa-mi explicati cum se putea rezolva problema de la cls a 9-a MAXD.


Solutiile oficiale la probleme le gaseshti la http://olimpiada.info/oji2005/index.php?cid=arhiva impreuna cu evaluatoare shi teste shi ce mai vrei tu d la OJI !
Memorat

No one should have to code the same thing twice !
[email protected]
Vizitator
« Răspunde #13 : Martie 02, 2005, 11:40:03 »

M-am uitat si acolo si tot nu m-am lamurit... Am implementat algoritmul asa cum zic ei si tot trece de 1 sec la numerele din unele teste. Ii adevarat ca ii mult mai bun algoritmu decat l-am gandit eu da tot nu ii perfect.
Care ati reusit sa rezolvati problema MaxD pt toate testele? Si cum?
Memorat
malex
Client obisnuit
**

Karma: 6
Deconectat Deconectat

Mesaje: 53



Vezi Profilul
« Răspunde #14 : Martie 02, 2005, 18:33:26 »

eu am facut o functie care determina pt fiecare nr nr de divizori.. la inceputul programului generezi toate nr prime intr-un vector .. pt fiecare nr care il accessezi in functie tot imparti din vector cat timp numarul tau e dif de 1 .. pe parcurs inmultesti in p dupa acea regula:) Acum in programul principal faci un for de la a la b si iei divizorul si in acelasi timp actualizezi ce iti trebuie, nr max de div, cel mai mic nr al respectivului divizor si de fiecare data cand gasesti un div mai mare resetezi contorul de divizori si iar incepi sa numeri:)

Eu la olimp am gresit la pb asta ca nu am facut toate astea intr-un for ci am parcurs de 2 ori vectoru cu divizori..
Memorat

Programarea e frumoasa daca o inveti logic..
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #15 : Martie 03, 2005, 08:26:55 »

Citat din mesajul lui: malex
la inceputul programului generezi toate nr prime intr-un vector

am o intrebare: parca numerele alea ajungeau la 2 miliarde; cat de multe nr prime sunt?!
Memorat
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #16 : Martie 03, 2005, 09:51:00 »

Shame on you Iti trebuie numerele prime pana la sqrt(2 * 10^9) pentru a gasi divizorii oricarui numar de la 1 la 2*10^9
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #17 : Martie 03, 2005, 12:43:35 »

Citat din mesajul lui: silviug
Shame on you Iti trebuie numerele prime pana la sqrt(2 * 10^9) pentru a gasi divizorii oricarui numar de la 1 la 2*10^9


ah, ofcourse, dar din explicatia lui malex, nu era foarte clar...
Memorat
malex
Client obisnuit
**

Karma: 6
Deconectat Deconectat

Mesaje: 53



Vezi Profilul
« Răspunde #18 : Martie 05, 2005, 18:26:31 »

aici se putea face o "magarie"  Twisted Evil  scriati intr-un fisier pe fiecare linie
a[1]:=2;
a[2]:=3;
.........

Dupa ce generati toate nr prime le scrieti in fisier ca si cum ati atribui vectorului.. Aveti grija cum le amplasati cat mai multe atribuiri pe o linii sa nu treaca limita de linii:)... Copiati apoi din fisierul generat in programul vostru, si erati scutiti de timpul pt generarea numerelor Very Happy
Memorat

Programarea e frumoasa daca o inveti logic..
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #19 : Martie 05, 2005, 19:42:24 »

recomand celor cu inclinatii spre precomputate sa foloseasca
a
  • = {2, 3, 5, 7 ... };
Memorat
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #20 : Martie 05, 2005, 22:02:24 »

Citat din mesajul lui: wickedman
recomand celor cu inclinatii spre precomputate sa foloseasca
a
  • = {2, 3, 5, 7 ... };
asa e logic, dar cred ca malex lucreaza in pascal, altfel era a
  • =y, in loc de ":=" !
Memorat
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #21 : Martie 06, 2005, 00:32:32 »

Citat
pascal

s-a strigat pascal? pascal sa fie!  Smile

Cod:

const
   a: array [0 .. 2] of integer = (0, 1, 2);
Memorat
vladut.forum
Vizitator
« Răspunde #22 : Iulie 11, 2005, 20:25:13 »

Mah, ce tot zice-ti de memoria de la prima problema de la OJI..cla 9a. Un vector char de 60000 sau cat iti spuneau iei era indeajuns(io luasem 100). Si cat despre a doua era ceva de genu ciuru lui Eratosthne, nu-mi dadusem seama in proba de concurs, da isi daduse un coleg, si luase 100...
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines