•vendetta
|
 |
« Răspunde #25 : Noiembrie 09, 2012, 20:54:45 » |
|
Ia incearca testul asta : 4 -1 -1 1 1 0 -1 0 1 -1 0 1 0 5 5 6 6
afiseaza 4, si ar trebuie sa afiseze 3, deoarece considera ca primul segment se intersecteaza cu ultimul si ele de fapt nu se intersecteaza.
Pentru a-l lua citeste mesajul lui wefgef majoritatea programelor care nu folosesc respingere rapida pica asemenea teste  . vezi in cormen cu respingerea rapida 
|
|
|
Memorat
|
|
|
|
•Detrol2k
Strain
Karma: -2
Deconectat
Mesaje: 48
|
 |
« Răspunde #26 : Noiembrie 10, 2012, 17:36:34 » |
|
Ia incearca testul asta : 4 -1 -1 1 1 0 -1 0 1 -1 0 1 0 5 5 6 6
afiseaza 4, si ar trebuie sa afiseze 3, deoarece considera ca primul segment se intersecteaza cu ultimul si ele de fapt nu se intersecteaza.
Pentru a-l lua citeste mesajul lui wefgef majoritatea programelor care nu folosesc respingere rapida pica asemenea teste  . vezi in cormen cu respingerea rapida  Ai avut dreptate! A mers! 
|
|
|
Memorat
|
|
|
|
•caliux
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #27 : Decembrie 19, 2012, 10:30:53 » |
|
Imi explica si mie cineva in ce consta respingerea rapida si cum ar trebuii implementata?
|
|
|
Memorat
|
|
|
|
•dutzul
|
 |
« Răspunde #28 : Decembrie 28, 2012, 16:18:03 » |
|
am o intrebare legata de produsul vectorial a 2 vectori am gasit ca e egal cu |a|*|b|*sin(X) unde X e unghiul dintre cele 2 drepte, de aici rezulta ca daca unghiul e intre 90 si 180 atunci produsul e negativ dar totusi sa luam dreapta suport pe axa ox cu originea in O si un punct in cadranul 1 si unu in cadranul 2. atunci un produs da negativ si unul pozitiv dar ambele puncte se afla pe aceiasi parte a dreptei...mersi anticipat 
|
|
|
Memorat
|
|
|
|
•SebiSebi
|
 |
« Răspunde #29 : Ianuarie 04, 2013, 18:10:33 » |
|
Daca este vorba despre drepte atunci doua drepte se intersecteaza daca si numai daca pantele lor difera. Panta unei drepte determinata de 2 puncte este : m=(yB-yA) / (xB-xA);
|
|
|
Memorat
|
|
|
|
•SebiSebi
|
 |
« Răspunde #30 : Ianuarie 04, 2013, 18:13:20 » |
|
Fii atent ca in problema se lucreaza cu segmente nu cu drepte.
|
|
« Ultima modificare: Februarie 18, 2013, 20:46:20 de către Pirtoaca George Sebastian »
|
Memorat
|
|
|
|
•romyk
Strain
Karma: 5
Deconectat
Mesaje: 40
|
 |
« Răspunde #31 : Februarie 18, 2013, 20:17:11 » |
|
imi da si mie cineva un exemplu ca la testul 1 ca sa imi dau seama de ce il tot pic?  folosesc formula de intersectie a doua segmente dar nu imi dau seama de ce nu il iau si pe primul test 
|
|
|
Memorat
|
|
|
|
•misino
Strain
Karma: 10
Deconectat
Mesaje: 40
|
 |
« Răspunde #32 : Februarie 20, 2013, 20:53:24 » |
|
Fa testul de respingere rapida. Asta am facut si eu.
|
|
|
Memorat
|
|
|
|
•romyk
Strain
Karma: 5
Deconectat
Mesaje: 40
|
 |
« Răspunde #33 : Februarie 20, 2013, 22:06:31 » |
|
Nu inteleg ce inseamna "respingere rapida", dar am pus o conditie ca pentru testul: 4 1 1 2 2 3 3 4 4 -1 1 -3 3 3 -3 6 -6 sa imi afiseze 0 si am luat si primul test 
|
|
|
Memorat
|
|
|
|
•OviTzu24
Strain
Karma: -2
Deconectat
Mesaje: 5
|
 |
« Răspunde #34 : Martie 03, 2013, 15:48:36 » |
|
Care ii faza cu "respingerea rapida" ? Am si eu probleme cu testul 1, si nu pricep care ii problema. RE : romyk pentru primul test, out = 3 nu 0;
|
|
« Ultima modificare: Martie 03, 2013, 16:19:22 de către Carabian Ovidiu »
|
Memorat
|
|
|
|
•romyk
Strain
Karma: 5
Deconectat
Mesaje: 40
|
 |
« Răspunde #35 : Martie 05, 2013, 00:22:04 » |
|
Nu ziceam de primul test de la evaluator ci de testul care l-am facut eu. Pentru el ar trebui sa afiseze 0. Daca folosesti doar formula de intersectie a segmentelor nu iei acest test(nu am idee de ce). Daca faci pe foaia o sa vezi ca trebuie sa iti dea 0.
|
|
|
Memorat
|
|
|
|
•ion824
Strain
Karma: 11
Deconectat
Mesaje: 17
|
 |
« Răspunde #36 : August 21, 2014, 21:01:07 » |
|
Probabil că ar trebui îmbunătățite testele. Am luat 100 cu sursa care nu verifica cazul în care segmentele ce se intersectau erau coliniare.
|
|
|
Memorat
|
|
|
|
•sstere
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #37 : August 26, 2015, 14:53:29 » |
|
Iau toate testele in afara de Testul 4. Sunt convins ca este corect matematic implementat. Nu stiu ce imi scapa.
|
|
|
Memorat
|
|
|
|
|
•[email protected]
Strain
Karma: -1
Deconectat
Mesaje: 9
|
 |
« Răspunde #39 : Martie 30, 2017, 21:19:22 » |
|
#include<iostream> #include<fstream> using namespace std; struct element { long long x1,y1,x2,y2; }; element v[10000]; int verificare(int i,int j) { int ok=0,a1,a2,b1,b2,c1,c2; a1=v.y2-v.y1; b1=v.x2*(-1)+v.x1; c1=v.y1*v.x2-v.y2*v.x1; a2=v[j].y2-v[j].y1; b2=v[j].x2*(-1)+v[j].x1; c2=v[j].y1*v[j].x2-v[j].y2*v[j].x1; if((a1*v[j].x1+b1*v[j].y1+c1)*(a1*v[j].x2+b1*v[j].y2+c1)<=0) { if((a2*v.x1+b2*v.y1+c2)*(a2*v.x2+b2*v.y2+c2)<=0) { ok=1; } } return ok; } int conditie1(int i,int j) { float n1,n2,ok=0; n1=(float)(v.y2-v.y1)/(v.x2-v.x1); n2=(float)(v[j].y2-v[j].y1)/(v[j].x2-v[j].x1); if(n1!=n2) { ok=1; } return ok; } int main() { long long n,i,j,nr=0; fstream f("geometry.in",ios::in); f>>n; for(i=1;i<=n;i++) { f>>v.x1>>v.y1>>v.x2>>v.y2; } f.close(); for(i=1;i<n;i++) { for(j=i+1;j<=n;j++) { if(conditie1(i,j)==1) { if(verificare(i,j)==1) { nr++; } } } } fstream g("geometry.out",ios::out); g<<nr; g.close(); }
|
|
|
Memorat
|
|
|
|
•[email protected]
Strain
Karma: -1
Deconectat
Mesaje: 9
|
 |
« Răspunde #40 : Martie 30, 2017, 21:19:53 » |
|
o solutie de 100 puncte
|
|
|
Memorat
|
|
|
|
•[email protected]
Strain
Karma: -1
Deconectat
Mesaje: 9
|
 |
« Răspunde #41 : Martie 30, 2017, 21:20:19 » |
|
o solutie de 100
|
|
|
Memorat
|
|
|
|
|