Pagini recente » Cod sursa (job #1706341) | Cod sursa (job #1449337) | Clasament gicu_01 | Cod sursa (job #2114458) | Cod sursa (job #1033126)
#include <fstream>
#define q 2500000000
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
float p[1000000];
void quicksort(int stanga, int dreapta)
{
int i, j, mijloc, aux;
i=stanga; j=dreapta;
mijloc=p[(stanga+dreapta)/2];
while(i<=j)
{
while(p[i]<mijloc)
i++;
while(p[j]>mijloc)
j--;
if(i<=j)
{
aux=p[i]; p[i]=p[j];
p[j]=aux; i++; j--;
}
}
if(stanga<j)
quicksort(stanga, j);
if(i<dreapta)
quicksort(i, dreapta);
}
float panta(float x1,float y1,float x2,float y2)
{
if(x2==x1)
return q;
return (y2-y1)/(x2-x1);
}
int main()
{
int n, i, j, k=0, nr=0, x[1005], y[1005];
f>>n;
for(i=1; i<=n; i++)
f>>x[i]>>y[i];
for(i=1; i<n; i++)
for(j=i+1; j<=n; j++)
p[++k]=panta(x[i],y[i],x[j],y[j]);
quicksort(1,k);
for(i=1; i<k; i++)
if(p[i]==p[i+1])
nr++;
g<<nr;
f.close(); g.close();
return 0;
}