Pagini recente » Cod sursa (job #2214907) | Cod sursa (job #2178800) | Cod sursa (job #1519439) | Cod sursa (job #2028177) | Cod sursa (job #2844919)
#include <iostream>
#include <fstream>
#include <algorithm>
#define MAX 1000
#define inf 1.79769e+308
using namespace std;
struct punct{
int x;
int y;
};
punct v[MAX];
double p[MAX*MAX];
int main(){
FILE *fin,*fout;
int n,i,j,nr,s,t;
double p1;
fin=fopen("trapez.in","r");
fscanf(fin,"%d",&n);
for(i=0;i<n;i++)
fscanf(fin,"%d%d",&v[i].x,&v[i].y);
fclose(fin);
nr=0;
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
if(v[j].x-v[i].x!=0)
p[nr]=(double)(v[j].y-v[i].y)/(v[j].x-v[i].x);
else
p[nr]=inf;
nr++;
}
}
sort(p,p+nr);
i=t=0;
while(i<nr){
s=0;
p1=p[i];
while(p[i]==p1){
s++;
i++;
}
t+=s*(s-1)/2;
}
fout=fopen("trapez.out","w");
fprintf(fout,"%d",t);
fclose(fout);
return 0;
}