Pagini recente » Cod sursa (job #2216451) | Cod sursa (job #1899004) | Cod sursa (job #2813030) | Cod sursa (job #2088586) | Cod sursa (job #712010)
Cod sursa(job #712010)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int N,i,j,x[1001],y[1001],k=0,trapez=0,r=0;
float pante[1000001];
void citire()
{
f>>N;
for (i=1;i<=N;i++)
f>>x[i]>>y[i];
}
void panta()
{
for (i=1;i<=N-1;i++)
for (j=i+1;j<=N;j++)
{
if (y[j]==y[i]) pante[++k]=9999999;
else if (x[i]==x[j]) pante[++k]=9999991;
else pante[++k]=(float)(y[j]-y[i])/(x[j]-x[i]);
}
}
int gaos(int a)
{
return a*(a+1)/2-a;
}
void caut()
{
trapez=0;
for (i=1;i<=k;i++)
{
r=1;
while (pante[i]==pante[i+1]) {r++;i++;}
if (r>=2) {trapez+=gaos(r);}
}
}
int main()
{
citire();
panta();
sort (pante+1,pante+k+1);
caut();
g<<trapez;
return 0;
}