Cod sursa(job #863104)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 23 ianuarie 2013 13:59:08
Problema Trapez Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int n,i,j,a[1001],b[1001],m,rez;
typedef struct cod {double val; int x,y;};
cod pante[1000001];
int cmp(cod aa,cod bb)
{
	if(aa.val>bb.val) return 1;
	return 0;
}

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[i]!=a[j])
			{
				m++;
				pante[m].val=double(b[j]-b[i])/double(a[j]-a[i]);
				pante[m].x=i;
				pante[m].y=j;
			}
			
			else{m++; pante[m].val=0; pante[m].x=i;
				pante[m].y=j;}
		}
		sort(pante+1,pante+m+1,cmp);
	/*for(i=1;i<=m;i++) g<<pante[i].val<<' ';
	g<<'\n';*/
	for(i=1;i<m;i++)
		if(pante[i].val==pante[i+1].val && pante[i].x!=pante[i+1].x && pante[i].y!=pante[i+1].y) rez++;
	g<<rez<<'\n';
	f.close();
	g.close();
	return 0;
}