Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1071 Hawaii  (Citit de 1249 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« : Iunie 18, 2010, 23:47:00 »

Aici puteţi discuta despre problema Hawaii.
« Ultima modificare: Iunie 19, 2010, 16:34:50 de către Andrei Grigorean » Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
ciprianf
De-al casei
***

Karma: 11
Deconectat Deconectat

Mesaje: 104



Vezi Profilul
« Răspunde #1 : Iunie 19, 2010, 10:43:55 »

O problema asemanatoare s-a dat la "Elite 2010 U S Open Competition" de pe USACO  peacefingers
Memorat
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #2 : Iunie 19, 2010, 11:22:57 »

Problema am propus-o pentru Google Code Jam in 2008, nu s-a folosit atunci pt ca aveam prea multe probleme cu triunghiuri anul respectiv si am dat-o aici. Dar imi place cum gandesti Tongue
« Ultima modificare: Iunie 19, 2010, 11:40:00 de către Cosmin Negruseri » Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #3 : Iunie 21, 2010, 14:10:45 »

Se poate imbunatatii cumva timpul functiei atan2? Sau mai exista vreo metoda asemanatoare?
Vreau sa sortez punctele in jurul closcai
« Ultima modificare: Iunie 21, 2010, 15:04:03 de către Tarca Bogdan » Memorat
andrei.12
Echipa infoarena
Nu mai tace
*****

Karma: 107
Deconectat Deconectat

Mesaje: 381



Vezi Profilul
« Răspunde #4 : Iunie 21, 2010, 15:35:44 »

Încearcă să îți construiești un alt vector B, în care B[ i ] să rețină deja arctangenta calculată pentru punctul i, și apoi sortează direct vectorul acesta, folosind sort (fără altă funcție de comparare).
Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #5 : Iunie 21, 2010, 16:43:37 »

Frumos Very Happy Hai ca o sa ma apuc sa scriu. Intre timp am facut un fel de atan2 de mana =)) dar iau 2 WA. Creca omit vreun caz.
Cod:
inline bool cmp(p a,p b)
{
ld adx=a.first-fix.first;
ld ady=a.second-fix.second;
ld bdx=b.first-fix.first;
ld bdy=b.second-fix.second;
//1
if(adx>=0&&ady>=0)
{
if(bdx==0&&bdy>0)
return 1;
if(bdx==0&&bdy<0)
return 0;
if(bdx>0&&bdy==0)
return 0;
if(bdx<0&&bdy==0)
return 0;
if(bdx>0&&bdy>0)
{
if(adx==0)
return 0;
if(ady==0)
return 1;
return (ld)ady/adx<(ld)bdy/bdx;//1
}
if(bdx<0&&bdy>0)
return 1;
else
return 0;
}
//2
if(adx<=0&&ady>=0)
{
if(bdx<0&&bdy>0)
return (ld)ady/adx<(ld)bdy/bdx;//2
else
return 0;//1 3 4
}
//3
if(adx<=0&&ady<=0)
{
if(ady==0&&adx<0)
return 1;//1 2 4
if(bdx<0&&bdy<0)
return (ld)ady/adx<(ld)bdy/bdx;//3
else
return 1;//1 2 4
}
//4
if(adx>=0&&ady<=0)
{
if(bdx==0&&bdy>0)
return 1;
if(bdx==0&&bdy<0)
return 0;
if(bdx>0&&bdy==0)
return 1;
if(bdx<0&&bdy==0)
return 0;
if(bdx>=0&&bdy<=0)
{
if(adx==0)
return 1;
if(ady==0)
return 0;
return (ld)ady/adx<(ld)bdy/bdx;
}
if(bdx<0&&bdy<0)
return 0;
else
return 1;
}
}
L.E.  A mers  Ok O sa tin minte treaba asta. MS  Yahoo!
« Ultima modificare: Iunie 21, 2010, 16:55:58 de către Tarca Bogdan » Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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