Pagini recente » Cod sursa (job #1911728) | Cod sursa (job #1354547) | Cod sursa (job #855040) | Cod sursa (job #248947) | Cod sursa (job #2594558)
#include <fstream>
#include <map>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct puncte
{
int x,y;
};
puncte v[1005];
map<double,int> mp;
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 panDa;
if(v[i].y-v[j].y!=0)
panDa=1.0000*(v[i].x-v[j].x)/(1.000000*(v[i].y-v[j].y));
else
{
panDa=v[i].x-v[j].x;
}
mp[panDa]++;
}
}
long long nr=0;
for(auto it : mp)
{
nr+=(it.second*(it.second-1))/2;
}
g<<nr<<'\n';
return 0;
}