Cod sursa(job #317503)

Utilizator aladinaladin aladinn aladin Data 23 mai 2009 20:09:32
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
#include <limits.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
int main()
{int maxa,mina,maxb,minb,n,a[1005],q,b[1005],i,nr,j;
 long long x,k=0;
 long long p[1000009];
 float 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];}
	if (maxa==mina) p[nr]=INT_MAX; else
    {qw=(maxb-minb);
	 qw/=(maxa-mina);
	 p[nr]=long(qw*1000000000);}
	/*printf("%d %d %lld \n",i,j,p[nr]);*/}
 }
	 sort(p+1,p+nr+1);
 for (i=1;i<=nr;)
  {for (j=i+1;j<=nr+1;j++) if (p[i]!=p[j]) break;
   if (j>i+1) 
	   { x=1;
         for (q=3;q<=j-i;q++) x*=q;
		   k+=x;
	   }
   i=j;
  }
  printf("%lld",k);
return 0;}