Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 812 Alge  (Citit de 6815 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« : Martie 01, 2009, 00:35:15 »

Aici puteti discuta despre problema Alge.
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #1 : Martie 02, 2009, 21:33:28 »

Cred ca ar trebui specificat faptul ca pestisorul se poate deplasa dintr-un cub de latura 1, doar in sus, jos, stanga, dreapta, fata sau spate. Cu alte cuvinte, o mutare "pe diagonala" nu e valida. Sau cel putin asa inteleg eu din exemplu.  Smile
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #2 : Martie 02, 2009, 22:24:29 »

La OLI se dadea si lungimea laturii unui grup de alge... vad ca aici nu mai se da. Ati modificat testele?
Memorat
andrei-alpha
Client obisnuit
**

Karma: 103
Deconectat Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #3 : Martie 02, 2009, 23:23:35 »

@Gabriel Bitis : Enuntul care l-am primit de la autorul problemei dadea doar coordonatele algelor si asta zice si aici
Citat
Grupurile au forma cubică, fiind situate în cuburi cu latura 1 din secţiune
 

@Marcu Florian : Mersi pentru precizare, am scris in enunt ..  Smile
« Ultima modificare: Februarie 28, 2010, 14:17:12 de către Andrei-Bogdan Antonescu » Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #4 : Martie 02, 2009, 23:27:40 »

am o problema. nu legata de rezolvare. am trimis o sursa si iau fisier de iesire corupt ( http://infoarena.ro/job_detail/269532 ). fisierele le-am declara in felul urmator:

Cod:
freopen("alge.in","r",stdin);
freopen("alge.out","w",stdout);

ce ar putea sa aiba?

LE: scuze, nu afisam lungimea drumului minim Brick wall
« Ultima modificare: Martie 02, 2009, 23:33:43 de către gaboru corupt » Memorat
andrei-alpha
Client obisnuit
**

Karma: 103
Deconectat Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #5 : Martie 02, 2009, 23:34:06 »

@ gaboru corupt : Primesti acest mesaj pentru ca nu afisezi lungimea drumului  Smile
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #6 : Martie 03, 2009, 15:25:53 »

ok, am reusit sa prind primele 8 teste. la ultimele doua iau MLE. am implementat cu matrice char si chiar si coada dinamic si tot MLE iau. nu stiu ce sa mai ii fac. chiar nu se poate rezolva asa?

http://infoarena.ro/job_detail/269628

LE: am reusit sa rezolv si problema memoriei, stergand primul nod si coada. dar acuma iarasi iau fisier de iesire corupt. presupun ca e aceasi problema, adica fisieru de iesire nu are formatul cerut. totusi nu stiu de ce. am incercat sa ciclez programul daca lungimea drumului minim este diferita de numarul de coordonate afisate. nu cicleaza. ce ar putea avea?
Memorat
andrei-alpha
Client obisnuit
**

Karma: 103
Deconectat Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #7 : Martie 04, 2009, 19:27:08 »

Cred ca luai fisier de iesire corupt din cauza iesirii din memorie.
Orcum vad ca ai rezolvat  Smile
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #8 : Martie 04, 2009, 19:37:36 »

inca ma gandesc de ce nu mergea. foloseam matricea char, iar pe pozitia (1,1,1) puneam '1'. si pe cum parcurgeam incrementam. se poate sa fi iesit din char? adik '1' are valoarea 49 si poate am depasit 255 cat are char. ca matricea o aveam de 37*37*37 pt ca o si bordam. deci nu cred ca e din cauza aia. si inca ceva, unde pot gasii testele, respectiv solutiile oficiale de la OLI?
Memorat
razyelx
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #9 : Martie 06, 2009, 13:14:11 »

Cu toate ca am rezolvat problema, pe parcurs am intampinat unele dificultati legate de memorie. Daca avem 640 KB, iar 1 INT = 4 bytes, atunci putem folosi (1024 x 640)/4 elemente de tip INT. Sau gresesc?
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #10 : Martie 06, 2009, 15:41:49 »

Gresesti. Din memoria totala tre sa scazi in jur de 200 de kb, memoria folosita de sistem pentru a rula executabilul tau. Stiu ca uneori luam "kill by signal 11" chiar si cand declaram 13 mega, si limita era de 16.
Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #11 : Aprilie 02, 2009, 20:02:43 »

Gaboru,35*35*35=42875 si depaseste cu mult "valoarea in int" pe care o poate retine un char...
Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #12 : Aprilie 02, 2009, 20:44:13 »

In matricea char retii chiar un char, un simbol si cand transformi devine cod ASCII egal cu distanta/costul, deci poti retine destul de mult. Nu retii un numar propriu-zis, fiindca atunci ai putea retine doar de la 0 la 9.
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #13 : Aprilie 02, 2009, 21:01:36 »

Gaboru,35*35*35=42875 si depaseste cu mult "valoarea in int" pe care o poate retine un char...

Nu, ai dreptate. In char poti tine numere de la -128 la 127.

Chiar daca initiativa ta este de laudat, e bine sa raspunzi doar la intrebari puse recent (mai putin de 5-10 zile as zice, dar desigur mai variaza in functie de caz). Nu cred totusi ca un utilizator intra zi de zi pe forum si isi verifica toate mesajele la care nu a primit raspuns.
Memorat

Am zis Mr. Green
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #14 : Aprilie 02, 2009, 21:20:50 »

In matricea char retii chiar un char, un simbol si cand transformi devine cod ASCII egal cu distanta/costul, deci poti retine destul de mult. Nu retii un numar propriu-zis, fiindca atunci ai putea retine doar de la 0 la 9.

Ba nu, in C variabilele de tip char sunt de fapt int-uri pe 8 biti. Poti lucra cu ele foarte bine ca si cu un int normal.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #15 : Aprilie 02, 2009, 21:35:55 »

In matricea char retii chiar un char, un simbol si cand transformi devine cod ASCII egal cu distanta/costul, deci poti retine destul de mult. Nu retii un numar propriu-zis, fiindca atunci ai putea retine doar de la 0 la 9.

Ba nu, in C variabilele de tip char sunt de fapt int-uri pe 8 biti. Poti lucra cu ele foarte bine ca si cu un int normal.

Nu stiam ca sunt int-uri pe 8 biti. Eu ma refer ca poti face operatii de genul mt[ i ][ j ][ k ]=1 sau mt[ i ][ j ][ k ]++, unde mt e o matrice de tip char, doar ca daca vrei sa afisezi 1 va trebui cout<<(int)mt[ i ][ j ][ k ], altfel fiind afisat un simbol. peacefingers
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #16 : Aprilie 02, 2009, 22:05:44 »

Da, pentru ca streamurile stiu ca e caracter si il printeaza/citesc ca atare.

In schimb, in programul urmator:

Cod:
int main() {
    char ch;
    scanf("%d", &ch);
    printf("%d", ch);
}

... daca se introduce la rulare numarul 97 se printeaza tot 97.
« Ultima modificare: Aprilie 03, 2009, 01:31:12 de către Paul-Dan Baltescu » Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
f.v.anton
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 35



Vezi Profilul
« Răspunde #17 : Februarie 27, 2010, 18:59:42 »

Nu prea merge o implementare recursiva asemanatoare cu fillul nu ? Ca vad ca iau MLE rau de tot.
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #18 : Februarie 27, 2010, 21:00:20 »

S-ar putea sa mearga daca nu ii dai functiei Fill, cubul ca parametru. ( cu alte cuvinte, cub[][][] sa fie global )
Memorat
f.v.anton
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 35



Vezi Profilul
« Răspunde #19 : Februarie 28, 2010, 11:38:04 »

Intr-adevar se mai micsoreaza spatiul de memorie folosit, dar tot nu e suficient. Eu mai am inca o functie recursiva si pt afisare  Embarassed

LE. Nu am reusit sub nicio forma recursiv, am luat 100 pana la urma, dar renuntand total la recursivitate. Tongue
« Ultima modificare: Februarie 28, 2010, 19:22:38 de către Anton Flavius » Memorat
justsomedude
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #20 : Ianuarie 03, 2016, 12:51:20 »

Pentru cei care cumva iau MLE, merge si cu short sa declarati matricile in loc de int  Smile
Memorat
mihai.constantin
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #21 : Februarie 16, 2016, 21:19:29 »

Poate cineva sa ma ajute, va rog?
Iau MLE pe ultimele 2 teste si nu stiu ce as mai putea optimiza.
http://www.infoarena.ro/job_detail/1602643?action=view-source
Memorat
andrei.arnautu
Client obisnuit
**

Karma: 9
Deconectat Deconectat

Mesaje: 58



Vezi Profilul
« Răspunde #22 : Februarie 16, 2016, 23:58:24 »

Folosesti mai multa memorie decat este necesara la coada. Dupa ce extragi elementul din capul cozii, sterge-l. Wink Pentru asta, schimba container-ul vector cu unul queue.
Memorat
mihai.constantin
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #23 : Februarie 17, 2016, 15:53:20 »

Multumesc mult. Smile
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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