Pagini recente » Istoria paginii runda/simulare_clasa_9_oji/clasament | Cod sursa (job #912924) | Cod sursa (job #1652089) | Cod sursa (job #2267727) | Cod sursa (job #176928)
Cod sursa(job #176928)
#include <cstdio>
#include <vector>
#include <algorithm>
#define Nmax 1001
#define eps 0.00000000000001
using namespace std;
struct trap{int x,y;} v[Nmax];
double p[Nmax*Nmax];
int nrp;
struct cmp{
bool operator ()(const double &a, const double &b)
{
return (a<b && b-a > eps);
}
};
int n;
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for(int i=0; i<n; i++)
scanf("%d %d",&v[i].x,&v[i].y);
for(int i=0; i<n-1; i++)
for(int j=i+1; j<n; j++)
{
double pant;
if(v[i].y != v[j].y)
pant = double((v[i].x - v[j].x)) / (v[i].y - v[j].y);
else
pant = 12345.0;
p[nrp++] = pant;
}
sort(p,p+nrp,cmp());
int nrtrap = 0;
for(int i=0; i<nrp-1; i++)
if(p[i+1] - p[i] < eps)
nrtrap ++;
printf("%d\n",nrtrap);
return 0;
}