Cod sursa(job #900754)

Utilizator ScDiscoMihai Trifan ScDisco Data 28 februarie 2013 21:38:46
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<fstream>
#include<algorithm>
#define dim 1006
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
//Cream vectorul oricand vrem.Pt exemple vezi linia 19
struct cub
{
	int x,y;
}
v[dim];
int i,n,j,sub,solutia,nr;
int main()
{
	f>>n;
	for(i=1;i<=n;++i)
	{
		f>>v[i].x>>v[i].y;
	}
	//Cream segmentele A-B,B-C,C-D,...,N-M,...
	for(i=1;i<=n;i++)
	{ 
        for(j=i+1;j<=n;++j)
		{
            a=(v[j].x-v[i].x);
            b=(v[j].y-v[i].y);
            p[++nr]=(double)(a/b);
        }
    }
	//sort(x,y) aranjeaza elementele x si y is ordine crescatoare oricare ar fi ele
	sort(p+1,p+1+nr);
	//De nr ori face ++i si sub++
	for(i=1;i<=nr;++i) 
	{
        sub=1;
        while(p[i+1]==p[i]) 
		{
            ++i;
            sub++;
        }
        solutia+=sub*(sub-1)/2;
    }
	g<<solutia<<'\n';
}