Cod sursa(job #914369)

Utilizator mazaandreiAndrei Mazareanu mazaandrei Data 14 martie 2013 08:10:28
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<algorithm>
#define inf 32000
using namespace std;
struct pct{int x,y;}v[1002];
int n,i,j,nrp,k=1,rez;
double p[500003];
inline double panta(pct A,pct B){
    if(A.x==B.x)return inf;
    return (double)(B.y-A.y)/(B.x-A.x);
}
int main(){
    ifstream f("trapez.in");ofstream g("trapez.out");
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i].x>>v[i].y;
    for(i=1;i<n;i++)
      for(j=i+1;j<=n;j++)
        p[++nrp]=panta(v[i],v[j]);
    sort(p+1,p+nrp+1);
    for(i=1;i<=nrp;i++)
        if(p[i]==p[i-1])k++;
        else{
        rez+=k*(k-1)/2;
        k=1;
        }
    g<<rez<<"\n";
    f.close();g.close();
}