Cod sursa(job #1147264)

Utilizator IonMosnoiIon Mosnoi IonMosnoi Data 19 martie 2014 18:22:42
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>

using namespace std;
const int inf = 1000000000;
int n,x[10000],y[10000],b[20000000],k=0;
float a[20000000];

int factorial(int x){
	int p=1;
	for(int i=1;i<=x;i++)p=p*i;
	return p;
}

int main(){
	ifstream fin("puncte.in");
	ofstream fout("puncte.out");
	
	fin>>n;
	
	for(int i=1;i<=n;i++){
		fin>>x[i]>>y[i];		
	}
	
	for(int i=1;i<=n;i++)
	 for(int j=i+1;j<=n;j++){
	  k++;
	  if(x[i]==x[j])a[k]=inf;	  
	  else a[k] = (float)(y[i]-y[j])/(x[i]-x[j]);	
	 }
	
	  int t,sol=0;
	 for(int i=1;i<=k;i++){
	 	//	fout<<a[i]<<" ";
	 	t=1;b[i]=1;
       for(int j=i+1;j<=k;j++)
	    if(a[i]==a[j] && b[j]!=1){
       	b[j]=1;
       	t++;
       
       }
       if(t>=2) sol +=factorial(t)/(2*factorial(t-2));
	 }
	 
	fout<<sol;
	
}