Pagini recente » Cod sursa (job #729313) | Cod sursa (job #1599172) | Cod sursa (job #2295758) | Cod sursa (job #137195) | Cod sursa (job #46695)
Cod sursa(job #46695)
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#define oo 2000000001
using namespace std;
FILE *f=fopen("trapez.in","r"), *g=fopen("trapez.out","w");
struct nod{int x, y;} a[1001];
int n,nr,k,m,i,j,ok,t1,t2,p,aux;
double b[1002001];
int comp(double * a, double * b)
{
if(* a > * b) return 1;
return 0;
}
int main()
{
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d %d",&a[i].x,&a[i].y);
fclose(f);
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
t1=a[i].y-a[j].y;
t2=a[i].x-a[j].x;
if(t1==0) b[++m]=oo;
else if(t2==0) b[++m]=0;
else
b[++m]=(double)t1/t2;
}
sort(b+1,b+m+1);
for(i=1;i<m;i=j)
{j=i+1;k=0;
while(b[i]==b[j]) {j++;k++;}
nr+=k*(k+1)/2;
}
//for(i=1;i<=m;i++) fprintf(g,"%lf ",b[i]);
fprintf(g,"%d\n",nr);
fclose(g);
return 0;
}