Pagini recente » Cod sursa (job #2035292) | Cod sursa (job #592983) | Cod sursa (job #950489) | Cod sursa (job #1660641) | Cod sursa (job #1071052)
//
// main.cpp
// trapez++
//
// Created by Catalina Brinza on 1/2/14.
// Copyright (c) 2014 Catalina Brinza. All rights reserved.
//
#include <fstream>
#define maximus 2000000000
using namespace std;
ifstream in("trapez.in");
ofstream out("trapez.out");
double v[5005001];
void quicksort(int f,int n)
{
int p,j,i;
if(f<n)
{
p=f;
i=f;
j=n;
while(i<j){
while(v[i]<=v[p]&&i<n)
i++;
while(v[j]>v[p])
j--;
if(i<j)swap(v[i],v[j]);
}
swap(v[p],v[j]);
quicksort(f,j-1);
quicksort(j+1,n);
}
}
int main()
{int n,i,j,m=-1,s=0,q=0;
int a[1001],b[1001];
in>>n;
for (i=0;i<n;++i)
in>>a[i]>>b[i];
for (i=0;i<n-1;++i)
for (j=i+1;j<n;++j)
{
m++;
if (a[i]==a[j]) v[m]=maximus;
else v[m]=(float)(b[j]-b[i])/(a[j]-a[i]);
}
quicksort(0,m-1);
for (i=0;i<m-1;++i)
if (v[i]==v[i-1]) q++;
else if (q!=1) {
s+=(q*(q-1))/2;
q=1;
}
out<<s;
return 0;
}