rneke moguce greske :
1./ koristi apsolutnu vrednost izraza koji si naveo za povrsinu.
2./ ne poredi double-ove sa operatorom == vec abs(v1-v2)<1e-9 recimo..
vAko na ovaj isti izraz stavim abs() daje kompajlersku gresku???
Ne razumem bas ono poredjenje . Zasto < ?
rovde imas fino objasnjenje double-ova :
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=integersReals
lSkuzio sam da ne radi u slucaju kada je tocka na stranici, pa moram malo modificirat ccw.
tovo resenje pada na 2,3,6,9 primer?
double povrsina(int a,int b,int c,int x[],int y[])
{
double p;
p=0.5*abs(x[a]*(y[b]-y[c])+x[b]*(y[c]-y[a])+x[c]*(y[a]-y[b]));
return p;
}
int main()
{
int n,br,res;
cin>>n;
int x[n+1];
int y[n+1];
for(int i=1;i<=n;i++)
cin>>x[i]>>y[i];
if(n<=3)res=n;
else
{ res=0;
for(int i=1;i<=n-2;i++)
for(int j=i+1;j<=n-1;j++)
for(int k=j+1;k<=n;k++)
{
br=3;
for(int l=1;l<=n;l++)
{
if(l!=i&&l!=j&&l!=k)
if(fabs(povrsina(i,j,l,x,y)+povrsina(i,k,l,x,y)+povrsina(j,k,l,x,y)-povrsina(i,j,k,x,y))<1e-9)
br++;
if(res<br)res=br;
}
}
}
cout<<res;
}
Ako su 4 tacka kolinearne da li se onda racuna da i one pripadaju jednom trouglu?
Moze li neki od navedenih test primera
rshaljem jedan test na private...
tPrepravio sam proveravanje kad se tacka nalazi na stranici trougla ali sada padam na 6. i 9. testu
nJel mogu molim vas da dobijem test 2 i 9, vec 19 puta sam pokusao i nista.
nSad prolazi dvojku ali pada 3,6,9, jel mogu molim vas da dobijem recimo sesticu, poludecu vise, 20 puta saljem zadatak i to 10 razlicitih ideja i uvek padam na nekim primerima.
sza pocetak... reci nam ideju :)
nfor i:=1 to n-2 do
for j:=i+1 to n-1 do
for k:=j+1 to n do
ako nisu kolinearne, onda ze svako l:=1 to n proveriti da li se nalazi izmedju prave koja sadrzi temena "i" i "j" i prave paralelne njoj koja sadrzi teme "k", pa tako i za pravu koja sadrzi "i" i "k" i pravu paralelnu njoj koja sadrzi "j" i pravu koja sadrzi "j" i "k" i pravu paralelnu njoj koja sadrzi "i". ako je izmedju 2 prave u sva tri slucaja onda je u trouglu.
suhhh ja sam trouglove davno kucala i sada uopste ne razumem svoje resenje :) Mada mi se cini da je dovoljno da proveris da li je zbir povrsina troglova koje odredjuju tacke i, j, l; i, k, l; j, k, l jednak povrsini i, j, k :)
nRadio sam tvoju ideju i na testu 7 mi kaze izlazni kod nije 0.
Evo pogledaj kod ako ti nije tesko pa vidi zasto, ja sam gledao, ali ne mogu nista da nadjem jer sam jako umoran, bio sam na takmicenju iz mate ovaj vikend.
Inace, sklonicu kod za koji dan da ne stoji na sajtu, samo kad ga pogledas.
Edit:izbacen kod.
sIskreno receno, ja ne vidim gde moze da bude problem...
nHvala, nije mi samo jasno zasto je to bilo potrebno.
Jedno pitanje, nevezano za temu:
-Ja sam pogledao pre par dana onaj link gde pise testirajte novi z-trening i nije mi jasno cemu sluzi? Malo je lepse odradjen, ali su zadaci isti, kao i ljudi koji su ih slali.
sto je bio neki Z-ov test, trebalo je da se upgrade-uje Z-trening, ali... nista od toga nije ispalo :(