Cod sursa(job #1017550)

Utilizator vlad.florescu94FMI Florescu Vlad - Adrian vlad.florescu94 Data 27 octombrie 2013 21:40:40
Problema Trapez Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include<algorithm>
#include<ctime>
#include<cstdlib>
#include<stdio.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
long i,j,n,nr=0,nr2=0,q,k=0;
float a[1001],b[1001],v[500501],piv;
int compare(const void *a, const void *b)
{
    return (*(float*)a - *(float*)b);
}
int main()
{f>>n;
 for(i=1;i<=n;i++)
    f>>a[i]>>b[i];
 for(i=1;i<n;i++)
    for(j=i+1;j<=n;j++)
      if(a[j]-a[i]==0)
        {if(k)
            nr2=(k*(k+1))/2;
         k++;
        }
      else
        {nr++;
         v[nr]=1.0*((1.0*(b[j]-b[i]))/(1.0*(a[j]-a[i])));
        }
 sort(v+1,v+nr+1,greater<float>());
 //qsort(v+1,nr+1,sizeof(float),compare);
 i=1;j=0;q=0;
 while(i<=nr)
   {if(v[i]==v[i+1])
      {j++;
       q=(j*(j+1))/2;
      }
    else
      {nr2+=q;q=0;j=0;
      }
    i++;
   }
 g<<nr2;
 f.close();g.close();
 return 0;
}