Pagini recente » Cod sursa (job #553235) | Cod sursa (job #292354) | Cod sursa (job #1329250) | Cod sursa (job #2911985) | Cod sursa (job #1446290)
#include <fstream>
#include <cmath>
#include <algorithm>
#define EPS 0.001
#define NMAX 1505
using namespace std;
ifstream f("triang.in");
ofstream g("triang.out");
int i, n, m=0, j, rez=0;
double dreapta[NMAX*NMAX];
struct punct
{
double x, y;
};
punct v[NMAX];
double distanta(punct a, punct b)
{
return sqrt( (a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y) );
}
bool egale(double a, double b)
{
if (abs(a-b)<EPS) return 1;
return 0;
}
int main()
{
f>>n;
for (i=1; i<=n; ++i)
f>>v[i].x>>v[i].y;
for (i=1; i<=n-1; ++i)
for (j=i+1; j<=n; ++j)
dreapta[++m]=distanta(v[i],v[j]);
sort(dreapta+1,dreapta+m+1);
for (i=1; i<=n-2; ++i)
if (egale(dreapta[i],dreapta[i+1]) && egale(dreapta[i+1], dreapta[i+2]))
rez++;
g<<rez<<'\n';
return 0;
}