Pagini recente » Cod sursa (job #797058) | Cod sursa (job #2591725) | Cod sursa (job #1548688) | Cod sursa (job #2606925) | Cod sursa (job #803831)
Cod sursa(job #803831)
#include<stdio.h>
#include<fstream>
#include<math.h>
#include<algorithm>
using namespace std;
#define MAXN 1002
typedef struct { int x, y; } point;
point v[ MAXN ];
double m[ MAXN * MAXN ];
double p;
int n, i, j, nr, res;
double dist(int i, int j)
{
return sqrt( (v[i].x - v[j].x) * (v[i].x - v[j].x) + (v[i].y - v[j].y) * (v[i].y - v[j].y) );
}
int main()
{
ifstream f("trapez.in");
f >> n;
for(i = 1; i <= n; ++i)
f >> v[i].x >> v[i].y;
f.close();
for(i = 1; i < n; ++i)
for(j = i + 1; j <= n; ++j)
if(v[i].x != v[j].x)
{
p = (double) (v[i].y - v[j].y) / (v[i].x - v[j].x);
++nr;
m[nr] = p;
}
sort(m + 1, m + nr + 1);
i = 1;
while(i <= nr)
{
j = i;
while(m[j+1] == m[i] && j <= nr)
++j;
res += (j - i + 1) * (j - i ) / 2;
i = j + 1;
}
FILE *g = fopen("trapez.out", "w");
fprintf(g, "%d\n", res);
fclose(g);
return 0;
}