Pagini recente » Cod sursa (job #1389059) | Cod sursa (job #232769) | Cod sursa (job #1768449) | Cod sursa (job #2080582) | Cod sursa (job #343725)
Cod sursa(job #343725)
#include<cstdio>
#include<algorithm>
using namespace std;
#define N 101
struct trapez{long long x,y;}v[N];
short int n;
int p[N];
long long num=0,dr=0;
bool compar(const int &a,const int&b)
{
return a<b;
}
void citire()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%hd",&n);
for (short int i=1; i<=n; ++i)
scanf("%lld%lld",&v[i].x,&v[i].y);
}
void gasesc()
{
for (int i=1; i<=n; ++i)
for (int j=i+1; j<=n; ++j)
if (v[i].x!=v[j].x)
p[++num]=(v[i].y-v[j].y)/(v[i].x-v[j].x);
else
++dr;
sort(p+1,p+1+num,compar);
n=num;
num=0;
dr=dr*(dr-1)/2;
for (int i=1;i<n; ++i)
if (p[i]==p[i+1])
++num;
else
{
dr+=num*(num-1)/2;
num=0;
}
printf("%lld",dr);
}
int main()
{
citire();
gasesc();
return 0;
}