Pagini recente » Cod sursa (job #102314) | Cod sursa (job #181540) | Istoria paginii runda/mehrschwankerweiterte | Cod sursa (job #2136952) | Cod sursa (job #307914)
Cod sursa(job #307914)
#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
#define ll long long
#define ld long double
#define mp make_pair
using namespace std;
ll x,y,nr;
const ld MAX=(ll)2<<36;
int n,i,j;
typedef pair <ll,ll> p;
vector <p> a;
vector <ld> hash;
inline int cmmdc(ll a,ll b)
{
if(!b) return a;
return cmmdc(b,a%b);
}
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%lld%lld",&x,&y);
a.push_back(mp(x,y));
}
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
{
ld m=a[i].first-a[j].first;
ld n=a[i].second-a[j].second;
if(!m)
hash.push_back(0);
else
if(!n)
hash.push_back(MAX);
else
hash.push_back(n/m);
}
sort(hash.begin(),hash.end());
for(int q=1,DIM=hash.size();q<DIM;q++)
if(hash[q]==hash[q-1])
nr++;
printf("%lld\n",nr);
return 0;
}