Cod sursa(job #2665383)

Utilizator Andrew09Mocanu Octavian Andrew09 Data 30 octombrie 2020 17:37:04
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <math.h>
#define inf 0x3f3f3f3f;
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct coordonate
{long long x,y;} a[1001];
double v[500001];
int n,m,k,nr,sum;
int main()
{ f>>n;
for(int i=1;i<=n;i++)
    f>>a[i].x>>a[i].y;
for(int i=1;i<n;i++)
    for(int j=i+1;j<=n;j++)
        { m++;
         if(a[i].y==a[j].y) {v[m]=inf;}
          else {v[m]=(a[i].x-a[j].x)/(double)(a[i].y-a[j].y);}
        }
sort(v+1,v+m+1);
/*for(int i=1;i<=m;i++)
    cout<<v[i]<<'\n';*/
//m=n*(n-1)/2;
for(int i=1;i<=m;i++)
   {nr=1;while(i<m && v[i]==v[i+1]) nr++,i++;
    sum+=nr*(nr-1)/2;nr=1;
   }
g<<sum;
    return 0;
}