Cod sursa(job #2289573)
| Utilizator | Data | 24 noiembrie 2018 20:46:10 | |
|---|---|---|---|
| Problema | Trapez | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int nr,k;
double v[1005*1005];
struct punct{
int x,y;
}a[1005];
int main()
{
int i,j,n;
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i].x>>a[i].y;
}
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
v[++k]=(double)(a[j].x-a[i].x)/(a[j].y-a[i].y);
sort(v+1,v+k+1);
int sol=0;
for(i=1;i<=k;i++)
{
nr=1;
while(i<k&&v[i]==v[i+1])
{
nr++;
i++;
}
sol+=nr*(nr-1)/2;
}
g<<sol;
return 0;
}
