Pagini recente » Cod sursa (job #707701) | Cod sursa (job #1476493) | Cod sursa (job #2434364) | Cod sursa (job #3191975) | Cod sursa (job #317523)
Cod sursa(job #317523)
#include <stdio.h>
#include <limits.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
int main()
{int x[1000009],y[1000009],maxa,mina,maxb,minb,n,a[1005],q,b[1005],i,nr,j;
long long k=0,qw;
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
{ scanf("%d %d",&a[i],&b[i]);
for (j=1;j<=i-1;j++)
{nr++;
mina=a[i];minb=b[i];
maxa=a[j];maxb=b[j];
if ((maxa<mina) || ((maxa==mina) && (maxb<minb)))
{mina=a[j];minb=b[j];
maxa=a[i];maxb=b[i];
}
x[nr]=(maxb-minb);
y[nr]=(maxa-mina);
/*printf("%d %d \n",x[nr],y[nr])*/
}
}
for (i=1;i<nr;i++)
for (j=i+1;j<=nr;j++)
if (x[i]*y[j]>x[j]*y[i])
{n=x[i];x[i]=x[j];x[j]=n;
n=y[i];y[i]=y[j];y[j]=n;
}
for (i=1;i<=nr;)
{for (j=i+1;j<=nr+1;j++)
if ((x[i]*y[j])!=(x[j]*y[i])) break;
j=min(j,nr+1);
if (j>i+1)
{ qw=1;
for (q=3;q<=j-i;q++) qw*=q;
k+=qw;
}
i=j;
}
printf("%lld",k);
return 0;}