Cod sursa(job #794923)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 7 octombrie 2012 13:06:31
Problema Triang Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <iostream>
#include <fstream>
#include <set>
#include <cmath>
using namespace std;

set < pair<int,int > > mp;
double x[1505],y[1505];

int main()
{
    int n;
    ifstream f("triang.in");
    ofstream g("triang.out");
    f>>n;
    for(int i=1;i<=n;i++)
    {
        double a,b;
        f>>a>>b;
        mp.insert(make_pair(a,b));
        x[i]=a;
        y[i]=b;
    }
    int nrt=0;
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
        {
            if(y[i]==y[j])
               {
                double h=(abs(x[i]-x[j])*sqrt(3))/2;
                double xc=x[i]+h;
                double yc=(y[i]+y[j])/2;

                if(mp.find(make_pair(xc,yc))!=mp.end()) nrt++;
                xc=x[i]-h;
                if(mp.find(make_pair(xc,yc))!=mp.end()) nrt++;
               }
           else
               {
                double h=(abs(y[i]-y[j])*sqrt(3))/2;
                double xc=y[i]+h;
                double yc=(x[i]+x[j])/2;

                if(mp.find(make_pair(xc,yc))!=mp.end()) nrt++;
                xc=y[i]-h;
                if(mp.find(make_pair(xc,yc))!=mp.end()) nrt++;

               }

        }
    g<<nrt;
    return 0;
}