Cod sursa(job #1768126)

Utilizator denniscrevusDennis Curti denniscrevus Data 30 septembrie 2016 11:22:52
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <algorithm>
#define INF 9999999
#define NMAX 1005
using namespace std;

long double pant[NMAX*NMAX];
int i,n,j,cnt,sol,nr,x[NMAX], y[NMAX];

ifstream f("trapeze.in");
ofstream g("trapeze.out");

int main()
{
    f>>n;

    for(i=1;i<=n;i++)
        f>>x[i]>>y[i];

    for(i=1;i<n;i++)
        for(j=i+1;j<=n;j++)
            pant[++cnt] = (double)(x[i]-x[j])/(y[i]-y[j]);

    sort(pant+1,pant+cnt+1);

    //for(i=1;i<=cnt;i++)
        //g<<pant[i]<<" ";

    for(i=1;i<=cnt+1;i++)
    {
        if(pant[i]!=pant[i-1])
        {
            sol+=(nr*(nr-1)/2);
            nr=1;
        }
        else
            nr++;

    }
    g<<sol;

}