Pagini recente » Cod sursa (job #1366051) | Cod sursa (job #2411312) | Monitorul de evaluare | Cod sursa (job #2105433) | Cod sursa (job #2849)
Cod sursa(job #2849)
#include <stdio.h>
#include <math.h>
double dist(double x1,double y1,double x2,double y2)
{
double a=x1-x2, b=y1-y2;
return sqrt((a)*(a)+(b)*(b));
}
int main()
{
freopen("triang.in","r",stdin);
freopen("triang.out","w",stdout);
register double x[1501],y[1501], ab,bc,ca, EPS=0.001;
register long i,j,k, tmp=0, n;
scanf("%ld", &n);
for(i=1;i<=n;++i)
scanf("%lf%lf", &x[i],&y[i]);
for(i=1;i<=n-2;++i)
for(j=i+1;j<n;++j)
for(k=j+1;k<=n;++k)
{
ab=dist(x[i],y[i],x[j],y[j]);
bc=dist(x[k],y[k],x[j],y[j]);
ca=dist(x[i],y[i],x[k],y[k]);
if((ab-bc>=0)?ab-bc:bc-ab==EPS && (ca-bc>=0)?ca-bc:bc-ca==EPS)
++tmp;
}
printf("%ld\n",tmp);
return 0;
}