|
Titlul: 406 Triunghi2 Scris de: Adrian Diaconu din Aprilie 24, 2007, 07:38:24 Aici puteţi discuta despre problema Triunghi2 (http://infoarena.ro/problema/triunghi2).
Titlul: Răspuns: 406 Triunghi2 Scris de: Florian Marcu din Mai 26, 2007, 21:57:12 Ar putea sa-mi spuna cineva ce este gresit la functia asta de determinare a ariei?
Cod:
Iau doar 70 de puncte, cu WA pe celelalte...Am testele oficiale, insa e destul de dificil de debug. Eu, pt a verifica daca un punct este in interiorul unui triunghi fac asa: *fie ABC triunghiul, iar M, punctul al carui pozitie trebuie verificata. *calculez aria lui ABC, lui ABM, lui ACM, lui BCM, si verific daca A(ABM)+A(BCM)+A(ACM)==A(ABC). Daca are loc conditia asta, atunci inseamna ca se afla in interior. Banuiesc k greseala este la functia de determinare a ariei... Titlul: Răspuns: 406 Triunghi2 Scris de: Paul-Dan Baltescu din Mai 26, 2007, 22:11:05 E buna formula.
Titlul: Răspuns: 406 Triunghi2 Scris de: Adrian Diaconu din Mai 27, 2007, 11:33:41 Ai grija ca tu acolo trunchezi aria( din x.5 tu obtii x). Poti pur si simplu sa nu mai imparti la 2 si sa verifici asa sumele alea.
Titlul: Răspuns: 406 Triunghi2 Scris de: Florian Marcu din Mai 27, 2007, 14:17:25 Incercasem si fara impartire si tot nu`mi iese. Cat va da pentru:
Cod:
Ma intereseaza care este aria triunghiului, si a celor trei triunghiuri formate de laturile ABC cu punctul M. LE: Am renuntat la "abs" si imi da la o arie "-1". Am pus cu "abs" si imi da 0. De ce? LE2: Am facut niste modificari, obtinand un program care nu-mi dadea bine deloc pe testele mele...Am trimis si....surpriza: 100 de puncte :yahoo: E o porcarie Borland-ul..ma las de el. :annoyed: LE3: Gata! Mi-am pus rhide....Alta viatza!... :roll: Titlul: Răspuns: 406 Triunghi2 Scris de: Ionescu Robert Marius din Iunie 13, 2007, 13:29:32 datzimi si mie ceva idei ,la al doilea punct (sa verific daca e vre un taran care ii cuprinde pe ceilaltzi ) ca nu prea imi da
Titlul: Răspuns: 406 Triunghi2 Scris de: Florian Marcu din Iunie 13, 2007, 13:47:36 Pai in primul rand, daca exista un asemenea tzaran, asta inseamna ca e posesorul parcelei cu aria cea mai mare! Avand coordonatele triunghiului de arie maxima, este destul de usor sa verifici pt fiecare punct al fiecarui triunghi daca este in interiorul triunghiului de arie maxima! Deci, sa presupunem ca triunghiul de arie maxima este ABC. Pentru toate celelalte triunghiuri de forma DEF, verifici dak D, E, respectiv F sunt in interiorul lui ABC. Este de ajuns k acest lucru sa fie fals o singura data si te poti opri. Succes! :thumbup:
Titlul: Răspuns: 406 Triunghi2 Scris de: Ionescu Robert Marius din Iunie 13, 2007, 15:08:40 oky o sa incerc asa ms mult :thumbup:
Titlul: Răspuns: 406 Triunghi2 Scris de: Ionescu Victor Cristian din Februarie 27, 2008, 02:33:33 eu iau 100 pe testele de la ONI si totusi sursa mea continua sa ia 20 in arhiva :-?
e vreo regula de afisare?(ceva cu spatii intre numere sau chestii de genu)?? Titlul: Răspuns: 406 Triunghi2 Scris de: Pripoae Teodor Anton din Februarie 27, 2008, 11:19:56 poate e din cauza ca afli gresit aria... si eu la inceput luam 65-70 de puncte din cauza ca faceam functia de aflare a ariei double...
dupaia am facut-o int si am impartit la 2 la sfarsit (la afisare)si am luat 100... cred ca e un bug al c-ului (e ciudat dar nu imi aproxima corect x/2)... nuj incearca asa... :) Titlul: Răspuns: 406 Triunghi2 Scris de: Ionescu Victor Cristian din Februarie 27, 2008, 20:43:12 eu calculam aria cu heron. nu stiu de ce dar busea. acum am calculat cu determinanti si merge :yahoo:
Titlul: Răspuns: 406 Triunghi2 Scris de: Airinei Adrian din Februarie 27, 2008, 21:23:22 Apar erori de precizie daca faci cu formula lui heron.
Titlul: Răspuns: 406 Triunghi2 Scris de: Andrei Misarca din Martie 10, 2008, 19:58:31 Cod:
Titlul: Răspuns: 406 Triunghi2 Scris de: Pripoae Teodor Anton din Martie 10, 2008, 20:23:23 da vezi ca tu nu faci bine :P faci functia int si cand returnezi area/2 iti face parte intreaga si pentru arie 13.5 de exemplu tie iti da area=27 si tu returnezi 26... daca vrei pui functia double sau returnezi fara impartirea la 2.
si eu din cate stiu aria se facea cu o chestie care am uitat cum se numeste :D ceva gen o chestie pentru |a b c | | x1 y1 1 | |d e f | = | x2 y2 1 | |g h i | | x3 y3 1 | care e aei + dhc + bfg - ceg - dbi - hfa deci x1y2 + x2y3 + x3y1 - x3y2 - x2y1 - x1y3 de unde formula (dai factor comun) citeste mai multe aici http://www.softsurfer.com/Archive/algorithm_0101/algorithm_0101.htm (http://www.softsurfer.com/Archive/algorithm_0101/algorithm_0101.htm) Titlul: Răspuns: 406 Triunghi2 Scris de: Andrei Misarca din Martie 10, 2008, 20:53:51 Mersi fain... kiar tare formula :thumbup: adik fata de formula lu Heron la care calculezi de mori si tot nu da bine asta kiar super misto :banana:
Titlul: Răspuns: 406 Triunghi2 Scris de: Savin Tiberiu din Martie 10, 2008, 21:46:41 Citat si eu din cate stie aria se facea cu o chestie care am uitat cum se numeste chestia aia se numeste determinant Titlul: Răspuns: 406 Triunghi2 Scris de: Pripoae Teodor Anton din Martie 10, 2008, 22:28:09 da :D ms uitasem
Titlul: Răspuns: 406 Triunghi2 Scris de: Farcasanu Alexandru Ciprian din Aprilie 10, 2008, 20:23:06 Editat de moderator: Nu postati rezolvari complete! Mai ales cand nu vi le cere nimeni!
Titlul: Răspuns: 406 Triunghi2 Scris de: Gabriel Bitis din Aprilie 10, 2008, 20:27:56 Puteai sa il lasi pe fiecare sa isi frece putin mintea si sa se prinda singur de rezolvare. :thumbdown:
Titlul: Răspuns: 406 Triunghi2 Scris de: Farcasanu Alexandru Ciprian din Aprilie 10, 2008, 20:33:30 Nu am vrut decat sa ajut... :aha: ....oricum si metoda cu aria e destul de clar explicata :P ...daca e prea detaliat, rog un admin sa-mi stearga postul
Titlul: Răspuns: 406 Triunghi2 Scris de: Paul-Dan Baltescu din Aprilie 10, 2008, 23:19:39 Puteai sa il lasi pe fiecare sa isi frece putin mintea si sa se prinda singur de rezolvare. :thumbdown: S-a rezolvat. :P Titlul: Răspuns: 406 Triunghi2 Scris de: Tataranu Vlad din Aprilie 17, 2008, 15:54:05 Intra lejer si brut la punctul 2 :P
Titlul: Răspuns: 406 Triunghi2 Scris de: Bacer Andrei din Martie 31, 2009, 09:40:58 Dezgrop si eu acest subiect...pentru ca m-am apucat sa ma perfectionez la capitolul geometrie la care nu stau prea bine :-'
Deci, la punctul 1 verific pentru fiecare triunghi daca punctul ce reprezinta fantana se afla in interiorul triunghiului, folosind determinanti. La punctul 2 aflu triunghiul de arie maxima, iar pentru fiecare triunghi verific apoi daca fiecare varf al lui se afla in interiorul triunghiului de arie maxima. Imi poate spune cineva, va rog, unde gresesc? :fighting: Titlul: Răspuns: 406 Triunghi2 Scris de: Dragos Oprica din Martie 31, 2009, 09:42:47 Dezgrop si eu acest subiect...pentru ca m-am apucat sa ma perfectionez la capitolul geometrie la care nu stau prea bine :-' Deci, la punctul 1 verific pentru fiecare triunghi daca punctul ce reprezinta fantana se afla in interiorul triunghiului, folosind determinanti. La punctul 2 aflu triunghiul de arie maxima, iar pentru fiecare triunghi verific apoi daca fiecare varf al lui se afla in interiorul triunghiului de arie maxima. Imi poate spune cineva, va rog, unde gresesc? :fighting: ideea de rezolvare este corecta, nefiind nimic gresit cel mai probabil gresesti la implementare vezi sa fii atent si la faptul ca aria se imparte la 2 (la calcului cu determinati) si in rest nu prea mai sunt cazuri speciale daca nu reusesti dami un pm :) Titlul: Răspuns: 406 Triunghi2 Scris de: Bacer Andrei din Martie 31, 2009, 09:46:34 Impart aria la 2, iar ca sa vad daca un punct e interior unui triunghi fac cei trei determinanti si verific daca au acelasi semn. Inca nu pot sa imi dau seama unde e gresita implementarea. Probabil nu sunt suficient de atent. ](*,)
Titlul: Răspuns: 406 Triunghi2 Scris de: A Cosmina - vechi din Decembrie 31, 2009, 14:50:17 Salut ! Iau 70 de puncte, calculez aria cu determinanti astfel:
Cod: int calc_arie (int a1, int b1, int a2, int b2, int a3, int b3) Sa fie de vina int-ul ? :-k In rest aplic metoda descrisa pe forum ... Titlul: Răspuns: 406 Triunghi2 Scris de: Andrei Misarca din Decembrie 31, 2009, 15:14:30 Nu mai împărți la 2, pentru că dacă determinantul îți dă 2 sau 3, ție aria tot 1 îți dă, ceea ce este incorect.
Titlul: Răspuns: 406 Triunghi2 Scris de: A Cosmina - vechi din Decembrie 31, 2009, 15:25:36 Asta era, multumesc ! :ok:
Titlul: Răspuns: 406 Triunghi2 Scris de: Paul-Dan Baltescu din Decembrie 31, 2009, 22:43:02 Desi e practic ce a spus Andrei mai sus, aria corecta se obtine cu impartirea la 2 (tin minte ca intrebai de determinanti in geometrie mai demult :) ). Presupun ca in cazul tau acei "2" se reduceau si nu contau.
Ai grija la conversiile spre date de tip real. Aceasta este una dintre sursele frecvente de greseli la problemele de geometrie. Titlul: Răspuns: 406 Triunghi2 Scris de: Andrei Grigorean din Decembrie 31, 2009, 23:10:47 Aria unui poligon care are varfurile in puncte laticeale este un numar intreg sau are partea fractionara egala cu 0.5. De multe ori in probleme (cum a fost si in cazul tau) poti lucra cu dublul ariei - sa nu mai imparti la 2 - pentru a obtine doar valori intregi, evitand astfel numerele reale.
Titlul: Răspuns: 406 Triunghi2 Scris de: A Cosmina - vechi din Ianuarie 01, 2010, 15:04:41 Multumesc pentru sfaturi, o sa lucrez cu int de acum.
Si da, am vazut cum se calculeaza aria cu determinanti, dar am pus /2 pentru ca sa era in formula ... P.S: La multi ani! :) |