Cod sursa(job #799170)

Utilizator ephgstefana gal ephg Data 18 octombrie 2012 08:46:32
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdio>
#include<algorithm>
using namespace std;
#define BM 1005
pair <int , int > p[BM];
double panta[BM*BM];
int n,dim;
int main (){
	int i,j,c=1,cc=0;
	freopen("trapez.in","r",stdin);
	freopen("trapez.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;++i)scanf("%d %d",&p[i].first,&p[i].second);
	for(i=1;i<n;++i)for(j=i+1;j<=n;++j){
		if(p[j].first-p[i].first!=0)panta[++dim]=((double)(p[j].second-p[i].second))/((double)(p[j].first-p[i].first));
		else panta[++dim]=100;
		//printf("%lf\n",panta[dim]);
	}
	sort(panta+1,panta+dim+1);
	for(i=1;i<dim;++i){
		if(panta[i]==panta[i+1])++c;
		else {
			cc+=(c*(c-1))/2;
			c=1;
		}
	}
	printf("%d",cc);
	return 0;
}