ditzone
Vizitator
|
|
« : Octombrie 23, 2005, 21:52:50 » |
|
Aici puteţi discuta despre problema Cercuri.
|
|
|
Memorat
|
|
|
|
•calinux
Strain
Karma: 5
Deconectat
Mesaje: 42
|
|
« Răspunde #1 : Octombrie 24, 2005, 20:32:58 » |
|
Am si eu o mica intrebare... In legatura cu valorile de test de pe site. Sursa mea, care a luat 100 de puncte... la testul 5 5 5 6 6 6 afiseaza ca raspuns... 11.900... iar pe site scrie ca valoare... 7.714. Pare un pic dubios...nu?
|
|
|
Memorat
|
"And all that is now, And all that is gone, And all that's to come, And everything under the sun is in tune But the sun is eclipsed by the moon" The Dark Side of The Moon - Pink Floyd
|
|
|
•domino
|
|
« Răspunde #2 : Octombrie 24, 2005, 23:02:27 » |
|
Am si eu o mica intrebare... In legatura cu valorile de test de pe site. Sursa mea, care a luat 100 de puncte... la testul 5 5 5 6 6 6 afiseaza ca raspuns... 11.900... iar pe site scrie ca valoare... 7.714. Pare un pic dubios...nu? Intr-adevar dubios S-a rezolvat bug-ul si s-a recorectat problema atat in Arhiva cat si la concurs.
|
|
|
Memorat
|
|
|
|
•dausyana
Strain
Karma: -10
Deconectat
Mesaje: 43
|
|
« Răspunde #3 : Octombrie 25, 2005, 15:49:40 » |
|
...yo nu inteleg dc imi ia 0 pb ...rezolvarea o presupun corecta...e cineva kre ii da bn si dupa concurs?...
|
|
|
Memorat
|
does anybody remember laughter?
|
|
|
•bogdan2412
|
|
« Răspunde #4 : Octombrie 25, 2005, 16:33:59 » |
|
|
|
|
Memorat
|
|
|
|
•dausyana
Strain
Karma: -10
Deconectat
Mesaje: 43
|
|
« Răspunde #5 : Octombrie 25, 2005, 18:49:30 » |
|
mc..dar am citit aia...daia ma mir dc nu imi emrge:(
|
|
|
Memorat
|
does anybody remember laughter?
|
|
|
•spatarel
Strain
Karma: 31
Deconectat
Mesaje: 37
|
|
« Răspunde #6 : Octombrie 26, 2005, 20:56:58 » |
|
Dupa foarte multe submisii fara nici un rezultat, am modifcat sursa gresit (din punctul meu de vedere), ca sa constat cu stupoare ca evaluatorul imi considera programul corect. Asadar, iata modificarea, in conditia pentru cercuri tangente: corect (dupa mine): if ((R1+R2)*(R1+R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2) || (R1-R2)*(R1-R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2)) corect dupa evaluator: if (abs(R1+R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <=0.0001 || abs(R1-R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <= 0.0001 ) Daca ar fi dupa mine, as re-re-corecta problema . In fine... voi ce parere aveti?
|
|
|
Memorat
|
Atat am avut de spus
|
|
|
•domino
|
|
« Răspunde #7 : Octombrie 26, 2005, 21:33:49 » |
|
Dupa foarte multe submisii fara nici un rezultat, am modifcat sursa gresit (din punctul meu de vedere), ca sa constat cu stupoare ca evaluatorul imi considera programul corect. Asadar, iata modificarea, in conditia pentru cercuri tangente: corect (dupa mine): if ((R1+R2)*(R1+R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2) || (R1-R2)*(R1-R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2)) corect dupa evaluator: if (abs(R1+R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <=0.0001 || abs(R1-R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <= 0.0001 ) Daca ar fi dupa mine, as re-re-corecta problema . In fine... voi ce parere aveti? Am pus linia corecta zisa de tine in locul la cea cu abs() in sursa ta si tot ia 100.. eu zic sa te uiti mai atent, fiindca greseai altceva inainte. Deci, nu e cazul sa se recorecteze nimic
|
|
|
Memorat
|
|
|
|
•spatarel
Strain
Karma: 31
Deconectat
Mesaje: 37
|
|
« Răspunde #8 : Octombrie 26, 2005, 21:47:45 » |
|
Corect! Imi cer scuze! Am mai modificat ceva, dar parea inofensiv... De unde rezulta ca acolo s-a strecurat bug-ul . Sper sa nu te superi, dar o sa spun si ce am gresit, ca sa nu mai greseasca si altii - am pus conditia de cercuri fara puncte comune inaintea celei de cercuri tangente. My Bad!
|
|
|
Memorat
|
Atat am avut de spus
|
|
|
•dausyana
Strain
Karma: -10
Deconectat
Mesaje: 43
|
|
« Răspunde #9 : Octombrie 27, 2005, 16:09:04 » |
|
spatarel: 1.corect (dupa mine): if ((R1+R2)*(R1+R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2) || (R1-R2)*(R1-R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))
2.corect dupa evaluator: if (abs(R1+R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <=0.0001 || abs(R1-R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <= 0.0001 )
cele 2 chestii sunt echivalente...doar k la 2. avand in vedere k lucrezi cu var de tipul real-pascal sau double-C compararea a 2 variabile d tipul ala se face mai greu si de aceea mai usor se compara diferenta lor cu 0.0001 in cazul de fata...
|
|
|
Memorat
|
does anybody remember laughter?
|
|
|
cristi8
Vizitator
|
|
« Răspunde #10 : Octombrie 27, 2005, 17:12:47 » |
|
nu ca se face mai greu, dar apar erori de precizie. de exemplu: double a, b; a = 1/sqrt(2); b = sqrt(2)/2.0; printf("%lf %lf %d\n", a, b, (a==b)); afiseaza 2 valori egale, si 0. adica la o anumita zecimala (care nu e afisata) cele 2 numere difera. si nu sunt == (EGALE)
|
|
|
Memorat
|
|
|
|
•MarcvsHdr
Strain
Karma: 1
Deconectat
Mesaje: 44
|
|
« Răspunde #11 : Noiembrie 06, 2005, 10:10:32 » |
|
Hmm... evaluatorul la problema asta pare sa aiba ceva ciudat. Probabil ca problema mea nu e corecta dpdv al preciziei de 3 zecimale. Dar mie imi dau rezultatele din test (7.zz4) si formulele matematice par foarte OK. Insa mi se pare cel putin bizar ca imi evalueaza un singur test. De ce doar unul? Am trimis problema de mai multe ori, gandindu-ma la vreo posibila eroare a evaluatorului, dar acelasi rezultat.
|
|
|
Memorat
|
|
|
|
•filipb
|
|
« Răspunde #12 : Noiembrie 06, 2005, 13:39:19 » |
|
Problema a fost data la Happy Coding II, si acolo una din reguli era ca problemele sunt evaluate folosind un singur test. Asa ca evaluatorul nu are nimic din fericire...
|
|
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
|
« Răspunde #13 : Noiembrie 06, 2005, 20:48:03 » |
|
si mie imi iese perfect fisierul de intrare dar nu stiu ce am gresit de iau 0 puncte.....ma mai gandesc
|
|
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
|
« Răspunde #14 : Noiembrie 08, 2005, 17:49:00 » |
|
|
|
|
Memorat
|
|
|
|
•bogdan2412
|
|
« Răspunde #15 : Noiembrie 08, 2005, 18:05:54 » |
|
Verifica partea matematica cu linkul care l-am pus mai sus si daca tot nu-ti iese rescrie sursa ca te ajuta uneori
|
|
|
Memorat
|
|
|
|
u-92
Vizitator
|
|
« Răspunde #16 : Noiembrie 08, 2005, 18:22:48 » |
|
probabil gresesti la precizie, daca folosesti de mai multe ori sqrt().. cel putin asta greseam eu, cand am redus la o singura apelare a functiei sqrt() mi-a mers
|
|
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
|
« Răspunde #17 : Noiembrie 09, 2005, 19:18:29 » |
|
linkul ii ok....am luat din el partea matematica...ba chiar mai mult....am gasit inca un site:
mathworld.wolfram.com/Circle-CircleIntersection.html
si tot nu imi merge.....acuma incerc sa reusesc o singura apelare sqrt poate poate o sa-mi mearga....
|
|
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
|
« Răspunde #18 : Noiembrie 09, 2005, 19:40:47 » |
|
|
|
|
Memorat
|
|
|
|
nivan
Vizitator
|
|
« Răspunde #19 : Noiembrie 09, 2005, 19:48:48 » |
|
Nu cred ca se referea sa scoti SQRT de peste tot...... ci sa nu folosesti la acelasi numar astfel incat sa se faca o aproximare gresit de la primul SQRT la al doilea. (Da nu te lua dupa mine ca eu inca nu am facut problema...... )
|
|
|
Memorat
|
|
|
|
•sarabogdan
Strain
Karma: 4
Deconectat
Mesaje: 40
|
|
« Răspunde #20 : Noiembrie 09, 2005, 20:05:47 » |
|
7.713 (7,7136) 7.713 (7,7136) 18.708 -1 -2
Mie atata imi da pe exemplu ... Din enunt nu reiese ca ar trebui aproximat ; voua cat va da cu 4 zecimale la primele 2 perechi de cercuri ?
|
|
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
|
« Răspunde #21 : Noiembrie 09, 2005, 20:11:39 » |
|
7.7136 7.7136 18.7083 -1 -2
imi afiseaza si mie tot atata...dar daca in exemplu arata 3 zecimale probabila ca atata trebuie...daca erau zerouri poate ca trebuie sa afisam cu 4 dar 7.713 are a 4-a zecimala 6...deci trebuie afisat cu 3 zecimale....eu asa am inteles
|
|
« Ultima modificare: Aprilie 17, 2006, 10:28:09 de către Tabara Mihai »
|
Memorat
|
|
|
|
•sarabogdan
Strain
Karma: 4
Deconectat
Mesaje: 40
|
|
« Răspunde #22 : Noiembrie 09, 2005, 20:33:44 » |
|
imi afiseaza si mie tot atata...dar daca in exemplu arata 3 zecimale probabila ca atata trebuie...daca erau zerouri poate ca trebuie sa afisam cu 4 dar 7.713 are a 4-a zecimala 6...deci trebuie afisat cu 3 zecimale....io asa am inteles,,,,
Tu ai citit ce-am scris ?
|
|
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
|
« Răspunde #23 : Noiembrie 09, 2005, 20:38:24 » |
|
poate ca am o exprimare putin mai greoaie..dar ma cam grabeam cand am scris.....my point is ca si mie imi afiseaza cu 4 zecimale exact ca si tie...punct!
|
|
|
Memorat
|
|
|
|
|
|