Pagini recente » Cod sursa (job #13638) | Cod sursa (job #2142916) | Cod sursa (job #901599) | Cod sursa (job #1715055) | Cod sursa (job #1802801)
#include <iostream>
#include <fstream>
#include <vector>
#define FOR(i,a,b) for(int i=a; i<=b; i++)
#define MMAX 999999999
#include<bits/stdc++.h>
using namespace std;
int N;
struct punct
{
long x,y;
};
vector<punct> p;
vector<float> m;
void citire()
{
ifstream f("trapez.in");
f>>N;
FOR(i,0,N-1)
{
punct P;
f>>P.x>>P.y;
p.push_back(P);
}
f.close();
}
void afisare(unsigned x)
{
ofstream g("trapez.out");
g<<x;
g.close();
}
float panta(punct a, punct b)
{
if((b.x-a.x)==0) return MMAX;
float pan=(float)(b.y-a.y)/(b.x-a.x);
return pan;
}
void constructie_pante()
{
FOR(i,0,N-1)
{
FOR(j,i+1,N-1)
{
m.push_back(panta(p[i],p[j]));
}
}
sort(m.begin(),m.end());
}
int determina_trapeze()
{
unsigned k=0;
FOR(i,0, m.size() - 1)
{
if(m[i]==m[i+1])k++;
}
return k;
}
int main()
{
citire();
constructie_pante();
afisare(determina_trapeze());
return 0;
}