Pagini recente » Cod sursa (job #875254) | Cod sursa (job #1397203) | Cod sursa (job #752216) | Cod sursa (job #2627713) | Cod sursa (job #1397526)
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <deque>
#define INF (1<<30)
#define mod 666013
#define eps 0.00000001
using namespace std;
typedef pair<int, int> punct;
punct a[1005];
double dr, dd, v[1000005];
int n, i, j, x, r, q;
double getPanta(punct a, punct b)
{
double dr;
dr = (double)(b.second-a.second) / (double)(b.first-a.first);
return dr;
}
int main()
{
freopen("trapez.in", "r", stdin);
freopen("trapez.out", "w", stdout);
scanf("%d", &n);
for(i=1;i<=n;i++)
scanf("%d%d", &a[i].first, &a[i].second);
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
dr=getPanta(a[i], a[j]);
v[++q]=dr;
}
sort(v+1, v+q+1);
r=0;
dr=0;
x=0;
for(i=1;i<=q;i++)
{
if(fabs(dr-v[i])<eps)
{
x++;
}
else
{
r+=x*(x-1)/2;
x=1;
dr=v[i];
}
}
r+=x*(x-1)/2;
printf("%d", r);
return 0;
}