Cod sursa(job #358857)

Utilizator Abi79Iordache Albert Abi79 Data 24 octombrie 2009 19:15:41
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#include <algorithm>

using namespace std;

FILE *f,*s;

int n,i,j,k=0,rez,sol;

struct punct{
	double x;
	double y;
}v1[1001];

double v2[1000001];

int main()
{
	f=fopen("trapez.in","r");
	s=fopen("trapez.out","w");
	
	fscanf(f,"%d",&n);
	
	for(i=1;i<=n;i++)
		fscanf(f,"%d %d",&v1[i].x,&v1[i].y);
	
	for(i=1;i<n;i++)
		for(j=i+1;j<=n;j++)
		{
			{
				v2[++k]=(v1[j].y-v1[i].y)/(v1[j].x-v1[i].x);
			}
		}
		
	sort(v2+1,v2+1+k);
	
	sol=0;
	
	for(i=1;i<=k;i++)
	{
		if(v2[i]==v2[i-1])
			sol++;
		else
		{
			rez+=(sol*(sol+1))/2;
			sol=0;
		}
	}
	
	fprintf(s,"%d",rez);
	
	fclose(s);
	
	return 0;
}