Cod sursa(job #1014828)

Utilizator leontinLeontin leontin Data 23 octombrie 2013 14:51:41
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<iostream>
#include<fstream>
using namespace std;
long fun(long a,long b,long x,long y)
{long h;
if(a!=b)
{h=(x-y)/(a-b);
return h;}
else return 0;}
void quick(long arr[], long left, long right)
 {
  long i = left, j = right;
  long tmp;
  long pivot = arr[(left + right) / 2];


  while (i <= j) {
        while (arr[i] < pivot)
              i++;
        while (arr[j] > pivot)
              j--;
        if (i <= j) {
              tmp = arr[i];
              arr[i] = arr[j];
              arr[j] = tmp;
              i++;
              j--;
    }
}
if (left < j)
    quick(arr, left, j);
if (i < right)
        quick(arr, i, right);
}


int main()
{ifstream f("trapez.in");
ofstream g("trapez.out");


	long n,arr[1001],brr[1001],i,j,d=0,nr=0;
	long crr[100001];
f>>n;
for(i=1;i<=n;i++)
	f>>arr[i]>>brr[i];
for(i=1;i<n;i++)
	for(j=i+1;j<=n;j++)
	{d++;
	crr[d]=fun(arr[i],arr[j],brr[i],brr[j]);
	}
quick(crr,1,d);
for(i=1;i<n;i++)
	if(crr[i]==crr[i+1])
			nr++;
g<<nr<<"\n";
f.close();
g.close();
return 0;}