Pagini recente » Cod sursa (job #311948) | Cod sursa (job #1603863) | Cod sursa (job #953463) | Cod sursa (job #2002942) | Cod sursa (job #261718)
Cod sursa(job #261718)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct nod{int x,y;}v[1001];
int i,j,k,l,m,n;
long long int sol;
double x[1000001];
void fill(nod a,nod b){
x[++k]=double(b.y-a.y)/double(b.x-a.x);
}
int main(){
FILE *f=fopen("trapez.in","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d%d",&v[i].x,&v[i].y);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(v[i].x<v[j].x)
fill(v[i],v[j]);
else
fill(v[j],v[i]);
sort(x+1,x+1+k);
m=1;
for(i=2;i<=k;i++)
if(x[i]==x[i-1])
m++;
else
{sol+=((m-1)*m)/2;
m=1;}
FILE *g=fopen("trapez.out","w");
fprintf(g,"%lld",sol);
return 0;}