Pagini recente » Cod sursa (job #1299828) | Cod sursa (job #2550383) | Cod sursa (job #2225205) | Cod sursa (job #1930847) | Cod sursa (job #284670)
Cod sursa(job #284670)
#include <algorithm>
using namespace std;
#define INF 2000000000
#define DIM 2000005
#define MAX 1000
#define ll long long
ll x[MAX],y[MAX];
double p[DIM];
int n,m;
ll nrt;
void read ()
{
int i;
scanf ("%d",&n);
for (i=1; i<=n; ++i)
scanf ("%lld%lld",&x[i],&y[i]);
}
void panta ()
{
int i,j;
for (i=1; i<n; ++i)
for (j=i+1; j<=n; ++j)
if (x[i]==x[j])
p[++m]=INF;
else
p[++m]=(double)(y[i]-y[j])/(x[i]-x[j]);
}
void solve ()
{
int i,nr;
for (i=1; i<m; ++i)
{
nr=1;
while (p[i]==p[i+1] && i<m)
{
++i;
++nr;
}
if (nr%2)
nrt+=((nr-1)/2)*nr;
else
nrt+=(nr/2)*(nr-1);
}
printf ("%lld",nrt);
}
int main ()
{
freopen ("trapez.in","r",stdin);
freopen ("trapez.out","w",stdout);
read ();
panta ();
sort (p+1,p+m+1);
solve ();
return 0;
}