Cod sursa(job #996384)

Utilizator s1mpMihai Alexandru s1mp Data 11 septembrie 2013 18:47:03
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<iostream>
#include<fstream>
#include<algorithm>
#define Nmax 1001
using namespace std;
int main()
{
	ifstream f("trapez.in");
	ofstream g("trapez.out");
	int N,nr=0,n=1,trapez=0,unu=0,doi=0;
	double panta[1000000],x[Nmax],y[Nmax];
	f>>N;
	for(int i=0;i<N;i++)
	{
		f>>x[i];
		f>>y[i];
	}
	for(int i=0;i<N;i++)
		for(int j=i+1;j<N;j++)
			if(x[i]-x[j]==0) unu++;
				else if (y[i]-y[j]==0) doi++;
					else panta[nr++]=(y[j]-y[i])/(x[j]-x[i]);
	sort(panta,panta+nr);
	for(int i=0;i<nr-1;i++)
		if (panta[i]==panta[i+1]) n++;
			else {trapez=trapez+n*(n-1)/2;
				n=1;}
	trapez=trapez+unu*(unu-1)/2;
	trapez=trapez+doi*(doi-1)/2;
	g<<trapez;
	f.close();
	g.close();
	return 0;
}