Pagini recente » Cod sursa (job #1453790) | Cod sursa (job #361846) | Cod sursa (job #2913619) | Cod sursa (job #1839329) | Cod sursa (job #597652)
Cod sursa(job #597652)
#include <fstream>
#include <algorithm>
#include <math.h>
using namespace std;
double eps=0.00000000000001, def=120392.120392;
typedef struct
{
double x,y;
} punct;
long double b[1100000];
int n,poz=-1,nr=0;
punct a[1100];
int main()
{
ifstream f("trapez.in");
ofstream g("trapez.out");
f >> n;
int i,j;
for (i=0; i<n; i++)
f >> a[i].x >> a[i].y;
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
if (a[i].x-a[j].x==0) b[++poz]=def;
else b[++poz]=(a[i].y-a[j].y)/(a[i].x-a[j].x);
sort(b, b+(++poz));
int S=0;
for (i=1; i<poz; i++)
if (b[i]-b[i-1]<eps) nr++;
else{
S+=nr*(nr+1)/2;
nr=0;}
S+=nr*(nr+1)/2;
g << S;
return 0;
}