Pagini recente » Cod sursa (job #2138112) | Cod sursa (job #57049) | Cod sursa (job #2873754) | Cod sursa (job #2186319) | Cod sursa (job #1391325)
#include <fstream>
#include <algorithm>
#define branza 2000000001
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int x[1005],y[1005],n,i,k,sol,m,j;
double v[1000*1000+5];
int main(){
fin>>n;
for(i=1;i<=n;i++){
fin>>x[i]>>y[i];
}
for(i=1;i<=n;i++){
for(j=i+1;j<=n;j++){
if(y[i]==y[j]){
v[++k]=branza;
}
else{
v[++k]=(double)(x[j]-x[i])*1.0/(y[j]-y[i]);
}
}
}
sort(v+1,v+k+1);
m=1;
for(i=1;i<k;i++){
if(v[i]==v[i+1]){
m++;
}
else{
sol=sol+m*(m-1)/2;
m=1;
}
}
fout<<sol+m*(m-1)/2;
return 0;
}