Cod sursa(job #783661)

Utilizator ioalexno1Alexandru Bunget ioalexno1 Data 3 septembrie 2012 15:18:07
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <algorithm>
#define N 1005
using namespace std;
double x[N],y[N];
double md[N*N/2];
long long sol;
int k,n;

int main()
{ int i,j;
  long long d,par;
  ifstream f("trapez.in"); f>>n;
k=0; par=0;
for(i=1;i<=n;++i)
    {
    f>>x[i]>>y[i];
    for(j=i-1;j>=1;--j)
       if(x[i]-x[j]==0)++par;
        else md[++k]=(y[i]-y[j])/(x[i]-x[j]);
    }
f.close();
sort(md+1,md+k+1);
sol=d=0;
for(i=1;i<k;++i)
    if(md[i]==md[i+1])++d;
        else
            {
            sol+=d*(d+1)/2;
            d=0;
            }
sol=sol+d*(d+1)/2+par*(par-1)/2;
ofstream g("trapez.out"); g<<sol; g.close();
return 0;

}
#undef N