Cod sursa(job #917120)
| Utilizator | Data | 17 martie 2013 12:47:12 | |
|---|---|---|---|
| Problema | Trapez | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<cstdio>
#include<algorithm>
using namespace std;
const int inf=2e9;
int main()
{
freopen("trapez.in","r",stdin);freopen("trapez.out","w",stdout);
int x[1001],y[1001];float v[500505];int n,s=0,i,j,k=0;
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%d%d",&x[i],&y[i]);
for(j=i-1;j>=1;--j)
v[++k]=x[i]==x[j]?inf:(float)(y[i]-y[j])/(x[i]-x[j]);
}
sort(v+1,v+k+1);
j=1;
for(i=2;i<=k;++i)
if(v[i]==v[i-1])
++j;
else
s+=j*(j-1)/2,j=1;
s+=j*(j-1)/2;
printf("%d",s);
}
