Pagini recente » Diferente pentru utilizator/filip.mihalut intre reviziile 18 si 17 | Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #2051208)
#include<fstream>
#include<cmath>
#include<stdio.h>
using namespace std;
struct punct{
double x,y;
};
double dist(punct a,punct b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
bool comparedoub(double a,double b)
{
if(abs(a-b)<0.001) return 1;
else return 0;
}
int main()
{
ifstream fin("triang.in");
ofstream fout("triang.out");
punct p[1500];
int N;fin>>N;
int nr=0;
for(int i=0;i<N;i++)
{
fin>>p[i].x;
fin>>p[i].y;
}
for(int i=0;i<N-2;i++)
{
for(int j=i+1;j<N-1;j++)
{
for(int k=j+1;k<N;k++)
{
if( comparedoub(dist(p[i],p[j]),dist(p[i],p[k]))&&comparedoub(dist(p[i],p[j]),dist(p[j],p[k])) ) nr++;
//printf("%d %d %d %d\n",i,j,k,comparedoub(dist(p[i],p[j]),dist(p[i],p[k]))&&comparedoub(dist(p[i],p[j]),dist(p[j],p[k])) );
}
}
}
fout<<nr;
}