Cod sursa(job #761980)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 28 iunie 2012 10:43:28
Problema Trapez Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
#define INX 2147000000
struct punct {
	int x,y;
};
punct a[1001];
double v[1000001];
int main ()
{
	int n,i,j,nr,l,x;
	double p;
	ifstream f("trapez.in");
	ofstream g("trapez.out");
	f>>n;
	for(i=1;i<=n;i++) 
		f>>a[i].x>>a[i].y;
	f.close();
	l=0;
	for(i=1;i<=n-1;i++) 
		for(j=i+1;j<=n;j++) {
			cout<<(double)a[j].y-a[i].y<<" "<<(double)a[j].x-a[i].x<<endl;
			if(a[j].x==a[i].x)
				p=INX;
			else p=(double)((double)a[j].y-a[i].y)/((double)a[j].x-a[i].x);
			l++;
			v[l]=p;
		}
	sort(v+1,v+l+1);
	nr=0;
	x=1;
	for(i=1;i<=l-1;i++)
		if(v[i]==v[i+1])
			x++;
		else {
			nr=nr+x*(x-1)/2;
			x=1;
		}
	if(x>=2) 
		nr=nr+x*(x-1)/2;
	g<<nr;
	return 0;
}