ditzone
Vizitator
|
 |
« : Octombrie 23, 2005, 21:47:42 » |
|
Aici puteţi discuta despre problema Expresii algebrice.
|
|
|
Memorat
|
|
|
|
•PuMa
Strain
Karma: 3
Deconectat
Mesaje: 12
|
 |
« Răspunde #1 : Martie 11, 2006, 22:10:52 » |
|
Cat e rezultatul pentru testul "((1))" si ce conditii trebuie puse pentru ca expresia sa fie incorecta?? Eu am luat cazurile: -"+)", "(+", "(*", "*)", "++", "**", "()", ")(". De asemenea verificam pentru fiecare prefix al expresiei ca numarul de paranteze ')' sa fie mai mic sau egal cu numarul de paranteze. '(' 
|
|
|
Memorat
|
Totul e relativ!
|
|
|
u-92
Vizitator
|
 |
« Răspunde #2 : Martie 11, 2006, 22:14:42 » |
|
pentru (((1))) imi da 1.. eu am verificat in timpul calculului daca e corecta.. ai folosit tipuri de date pe 64 biti ?
|
|
|
Memorat
|
|
|
|
•PuMa
Strain
Karma: 3
Deconectat
Mesaje: 12
|
 |
« Răspunde #3 : Martie 11, 2006, 22:33:46 » |
|
hmmm. si mie tot atat imi da si am folosit long long. 
|
|
|
Memorat
|
Totul e relativ!
|
|
|
u-92
Vizitator
|
 |
« Răspunde #4 : Martie 11, 2006, 23:16:51 » |
|
uite un test, poate te ajuta 1 (1+2*(3+5*9+4)*3*4)*(2+3)*5*5*5*((5))+3+4+5+6*7
|
|
|
Memorat
|
|
|
|
•PuMa
Strain
Karma: 3
Deconectat
Mesaje: 12
|
 |
« Răspunde #5 : Martie 11, 2006, 23:47:47 » |
|
Ms mult! testu m-a ajutat fff mult. Eu nu evaluam ultima parte a expresiei. 
|
|
|
Memorat
|
Totul e relativ!
|
|
|
•cypry
Strain
Karma: 1
Deconectat
Mesaje: 2
|
 |
« Răspunde #6 : Martie 07, 2007, 16:48:38 » |
|
Am rezolvat problema, pe toate cazurile incercate imi da bine, dar cand trimit solutia, apare un singur test, la care scrie Incorect. Nu pot sa bag mana in foc ca am rezolvat corect, dar e normal sa aiba un singur test?
|
|
|
Memorat
|
|
|
|
•astronomy
|
 |
« Răspunde #7 : Martie 07, 2007, 16:54:35 » |
|
Da, problema a fost data la un concurs pe infoarena si toate problemele de atunci aveau un singur fisier de test.
|
|
|
Memorat
|
|
|
|
•Marius
|
 |
« Răspunde #8 : Septembrie 02, 2007, 16:52:11 » |
|
Vrea sa imi spuna cineva o idee ? 
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•pauldb
|
 |
« Răspunde #9 : Septembrie 02, 2007, 18:41:07 » |
|
Dinamica pe intervale. Pot sa mai detaliez daca vrei. 
|
|
|
Memorat
|
Am zis 
|
|
|
•Marius
|
 |
« Răspunde #10 : Septembrie 03, 2007, 11:58:05 » |
|
Mai povesteste-mi. 
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•pauldb
|
 |
« Răspunde #11 : Septembrie 03, 2007, 13:13:50 » |
|
Tinem o dinamica C[p][q] = numarul de posibilitati de a evalua expresia pe intervalul p,q. C[p][q]=C[p+1][q-1], daca A[p]='(' si A[q]=')'. Daca nu, cautam semnul cu prioritatea cea mai mica din interval (evident, care nu e inclus intr-o paranteza). Apoi parcurgem intervalul si de fiecare daca cand gasim semnul pe o pozitie k, adunam la C[p][q] produsul C[p][k-1]*C[k+1][q].
|
|
« Ultima modificare: Septembrie 03, 2007, 13:18:01 de către Paul-Dan Baltescu »
|
Memorat
|
Am zis 
|
|
|
•danalex97
|
 |
« Răspunde #12 : Iulie 23, 2012, 16:48:02 » |
|
Iau WA. Am rezolvat problema cu o dinamica si m-am uitat in solutia oficiala. Ideile coincid , deci ma gadesc ca ideea de baza e buna. (imi dau toate exemplele din enunt si cele date mai sus la comentarii).
La verificarea corectitudinii unei expresii eu verific sa nu am "(*" , "*)" , "(+" , "+)" , "()" , ")(" , "++" , "**" , "+*" , "*+" , ")0". Daca mi-a scapat ceva sa spuneti. De asemenea ma uit la perecile de paranteze sa fie puse corect. Are idee cineva ce particularitati ar mai avea problema asta ?
|
|
|
Memorat
|
|
|
|
•AlexandruValeanu
|
 |
« Răspunde #13 : Martie 09, 2014, 17:51:00 » |
|
Cat ar trebui sa dea pe testul acesta: 9 +3+2 3*(+2) (2*3)*(3*(3+3)+2)+9+(2+3+(((3+2)))) 2++3 +1 (3)*(1)+(1)*(2)+(3) (+2) 3+(3+4+(1+1+1*(3+4)))+(8+0*(3+3)) (1+2*(3+5+9+4)*3*4)*(2+3)*5*5*5*((5))+3+4+5+6*7
|
|
|
Memorat
|
|
|
|
•misino
Strain
Karma: 10
Deconectat
Mesaje: 40
|
 |
« Răspunde #14 : Mai 15, 2014, 15:04:26 » |
|
Mie imi da:
Numarul de arbori = 0. Numarul de arbori = 0. Numarul de arbori = 4. Numarul de arbori = 0. Numarul de arbori = 0. Numarul de arbori = 2. Numarul de arbori = 0. Numarul de arbori = 8. Numarul de arbori = 14700.
Imi da si mie cineva un test in care raspunsul sa depaseasca int?
|
|
|
Memorat
|
|
|
|
•FlorinHaja
Strain
Karma: -8
Deconectat
Mesaje: 29
|
 |
« Răspunde #15 : Noiembrie 06, 2016, 19:31:07 » |
|
Raspunsurile depasesc unsigned long long-ul?
Ca pe testul 1 2*3*4*5*6*7*2*3*4*5*6*7*2*3*4*5*6*7*2*3
imi da 1, iar pe 1 2*3*4*5*6*7*2*3*4*5*6*7*2*3*4*5*6*7*2
477638700.
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #16 : Noiembrie 08, 2016, 23:46:44 » |
|
Păi e parte din soluție să-ți răspunzi la asta. Sau în orice caz, îți îmbunătățește înțelegerea subiectului. Ți-ai găsit worst case-ul: toți operatorii au aceeași prioritate și orice arbore binar cu acel număr de noduri este corect. Cum poți număra câți arbori binari cu N noduri există? Cât dă pentru 24? (nu poți avea mai mulți operatori de atât). Dacă nu-ți iese număratul de arbori, e o chestie destul de cunoscută, o găsești ușor. Dar încearcă singur  .
|
|
|
Memorat
|
|
|
|
|