Pagini recente » Cod sursa (job #297542) | Cod sursa (job #1478310) | Cod sursa (job #1542659) | Cod sursa (job #2964986) | Cod sursa (job #2820711)
#include <bits/stdc++.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct puncte
{
int x,y;
};
puncte v[1005];
vector <double> vec;
int main()
{
int n;
f>>n;
for(int i=1; i<=n; i++)
{
f>>v[i].x>>v[i].y;
}
for(int i=1; i<=n; i++)
{
for(int j=i+1; j<=n; j++)
{
double panta;
if(v[i].y-v[j].y!=0)
{
panta=1.0000*(v[i].x-v[j].x)/(1.000000*(v[i].y-v[j].y));
}
else
{
panta=v[i].x-v[j].x;
}
vec.push_back(panta);
}
}
sort(vec.begin(),vec.end());
int l=1;
int nr=0;
for(int i=1; i<vec.size(); i++)
{
if(vec[i]==vec[i-1])
{
l++;
}
else
{
nr+=(l*(l-1))/2;
l=1;
}
}
g<<nr<<'\n';
return 0;
}