Pagini recente » Statisticile problemei Por Costel si Pocnitoarea | Cod sursa (job #1109984) | Cod sursa (job #1522897) | Autentificare | Cod sursa (job #174977)
Cod sursa(job #174977)
#include<fstream.h>
struct puncte {
long x,y;
};
int paralele (long x1,long y1,long x2,long y2,long x3,long y3,long x4,long y4)
{
if ((double)(y2-y1)/(x2-x1)==(double)(y4-y3)/(x4-x3)) return 1;
return 0;
}
int main()
{
int n,i,j;
long k=0;
puncte a[1002],v[499502];
ifstream f("trapez.in");
f>>n;
for (i=1;i<=n;i++) f>>a[i].x>>a[i].y;f.close();
long nr1=0,nr2=0;
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
{
v[++k].x=i;
v[k].y=j;
if (a[j].x-a[i].x==0) {nr1++;k--;}
if (a[j].y-a[i].y==0) {nr2++;k--;}
}
long nr;nr=nr1*(nr1-1)/2+nr2*(nr2-1)/2;
for (i=1;i<k;i++)
for (j=i+1;j<=k;j++)
nr+=paralele(a[v[i].x].x,a[v[i].x].y,a[v[i].y].x,a[v[i].y].y,a[v[j].x].x,a[v[j].x].y,a[v[j].y].x,a[v[j].y].y);
ofstream g("trapez.out");
g<<nr;
g.close();f.close();
return 0;
}