Cod sursa(job #1027690)

Utilizator andreeaghetuUNIBUC andreeaghetu andreeaghetu Data 12 noiembrie 2013 22:27:50
Problema Triang Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream in ("triang.in");
ofstream out ("triang.out");
int N;
struct punct
{
    double x, y;
};
punct v[1505];
bool comparare (double a, double b)
{
    double m=abs(a-b);
    if (m<0.009999)
        return 1;
    return 0;
}
int main()
{

    in>>N;
    for (int i=0;i<N;++i)
    {
        in>>v[i].x>>v[i].y;
    }
    int nr=0;
    for (int i=0;i<N;++i)
        for (int j=i+1;j<N;++j)
        {
            double dpatratIJ=(v[i].x-v[j].x)*(v[i].x-v[j].x)+(v[i].y-v[j].y)*(v[i].y-v[j].y);
            for (int k=0;k<N;++k)
            {
                if (k!=i && k!=j)
                {
                    double dpatratIK=(v[i].x-v[k].x)*(v[i].x-v[k].x)+(v[i].y-v[k].y)*(v[i].y-v[k].y);
                    double dpatratJK=(v[j].x-v[k].x)*(v[j].x-v[k].x)+(v[j].y-v[k].y)*(v[j].y-v[k].y);
                    if (comparare(dpatratIJ, dpatratIK) && comparare(dpatratIJ,dpatratJK))
                            ++nr;
                }
            }
        }

    out<<nr/3;

    return 0;
}